export type TJurisdiction = 'de' | 'eu' | 'us';
export type TLawSource = 'gesetze-im-internet' | 'eur-lex' | 'law-cornell-lii' | 'govinfo-plaw' | 'govinfo-uscode';
export type TRawLawFormat = 'xml' | 'html' | 'text' | 'json';
export type TUsLawCollection = 'PLAW' | 'USCODE';
export interface ILawServiceConfig {
    dbFolderPath?: string;
    dbName?: string;
    govInfoApiKey?: string;
}
export interface ILawLookupRequest {
    jurisdiction: TJurisdiction;
    identifier: string;
    language?: string;
    usCollection?: TUsLawCollection;
    forceSync?: boolean;
}
export interface ILawSyncRequest {
    jurisdiction: TJurisdiction;
    limit?: number;
    offset?: number;
    language?: string;
    govInfoApiKey?: string;
    usCollection?: TUsLawCollection;
    since?: Date;
}
export interface ILawSearchRequest {
    query: string;
    jurisdiction?: TJurisdiction;
    limit?: number;
}
export interface ILawSyncResult {
    jurisdiction: TJurisdiction;
    syncedCount: number;
    identifiers: string[];
}
