/**
 * HTTP client for Ezer Mishpati legal-ai REST API.
 */
export declare class LegalApi {
    private baseUrl;
    constructor(baseUrl: string);
    private request;
    listCases(): Promise<CaseSummary[]>;
    getCase(caseNumber: string): Promise<CaseDetails>;
    createCase(data: CaseCreateInput): Promise<CaseDetails>;
    updateCase(caseNumber: string, data: CaseUpdateInput): Promise<CaseDetails>;
    getCaseStatus(caseNumber: string): Promise<WorkflowStatus>;
    search(query: string, limit?: number, sectionType?: string): Promise<SearchResult[]>;
    searchCase(caseNumber: string, query: string, limit?: number): Promise<SearchResult[]>;
    getTemplate(caseNumber: string): Promise<{
        template: string;
    }>;
    getProcessingStatus(): Promise<ProcessingStatus>;
    health(): Promise<{
        status: string;
    }>;
}
export interface CaseSummary {
    case_number: string;
    title: string;
    status: string;
}
export interface CaseDetails {
    id: string;
    case_number: string;
    title: string;
    status: string;
    appellants: string[];
    respondents: string[];
    subject: string;
    property_address: string;
    expected_outcome: string;
    documents?: DocumentInfo[];
    [key: string]: unknown;
}
export interface CaseCreateInput {
    case_number: string;
    title: string;
    appellants?: string[];
    respondents?: string[];
    subject?: string;
    property_address?: string;
    permit_number?: string;
    committee_type?: string;
    hearing_date?: string;
    notes?: string;
    expected_outcome?: string;
}
export interface CaseUpdateInput {
    status?: string;
    title?: string;
    subject?: string;
    notes?: string;
    hearing_date?: string;
    decision_date?: string;
    tags?: string[];
    expected_outcome?: string;
}
export interface DocumentInfo {
    id: string;
    title: string;
    doc_type: string;
    extraction_status: string;
    page_count?: number;
}
export interface WorkflowStatus {
    case_number: string;
    title: string;
    status: string;
    documents: Array<{
        title: string;
        type: string;
        extraction: string;
        chunks: number;
        pages?: number;
    }>;
    total_documents: number;
    total_chunks: number;
    has_draft: boolean;
    draft_size_bytes: number;
    next_steps: string[];
}
export interface SearchResult {
    score: number;
    case_number?: string;
    document: string;
    section: string;
    page: number;
    content: string;
}
export interface ProcessingStatus {
    cases: number;
    documents: number;
    pending_processing: number;
    chunks: number;
    style_corpus_entries: number;
    style_patterns: number;
}
