import { EpoOpsConfig, SearchResponse, PatentReference, BibliographicData, Claims, FamilyMember, LegalStatus, SearchOptions, ClassificationOptions, ClassificationResponse, NumberConversionResponse } from './types';
export declare class EpoOpsClient {
    private baseUrl;
    private httpClient;
    private token;
    private tokenCreatedAt;
    private maxRetries;
    private clientId;
    private clientSecret;
    constructor(config: EpoOpsConfig);
    initialize(): Promise<void>;
    private handleError;
    private initializeOAuthClient;
    private parseXMLResponse;
    searchPatents(query: string, options?: SearchOptions): Promise<SearchResponse>;
    getBibliographicData(reference: PatentReference): Promise<BibliographicData>;
    getClaims(reference: PatentReference): Promise<Claims>;
    getFamily(reference: PatentReference): Promise<FamilyMember[]>;
    getLegalStatus(reference: PatentReference): Promise<LegalStatus[]>;
    getClassification(cpcClass: string, options?: ClassificationOptions): Promise<ClassificationResponse>;
    convertNumber(type: 'application' | 'priority' | 'publication', sourceFormat: 'docdb' | 'epodoc', number: string, targetFormat: 'docdb' | 'epodoc'): Promise<NumberConversionResponse>;
    searchClassification(query: string): Promise<ClassificationResponse>;
    private transformBibliographicData;
    private transformClaims;
    private transformFamilyData;
    private transformLegalStatus;
    private transformSearchResults;
    private transformClassificationData;
    private transformNumberConversion;
    private transformClassificationSearchData;
    private ensureToken;
    private isTokenExpired;
}
//# sourceMappingURL=client.d.ts.map