import { Lifelog, ListLifelogsOptions, DateRangeOptions, SearchOptions, LimitlessClientConfig } from '../types/limitless';
export declare class LimitlessAPIError extends Error {
    statusCode?: number | undefined;
    code?: string | undefined;
    details?: unknown | undefined;
    constructor(message: string, statusCode?: number | undefined, code?: string | undefined, details?: unknown | undefined);
}
export declare class LimitlessClient {
    private apiKey;
    private baseUrl;
    private timeout;
    private retryAttempts;
    private retryDelay;
    constructor(config: LimitlessClientConfig);
    private makeRequest;
    getLifelogById(id: string, options?: Pick<ListLifelogsOptions, 'includeMarkdown' | 'includeHeadings'>): Promise<Lifelog>;
    listLifelogsByDate(date: string, options?: ListLifelogsOptions): Promise<Lifelog[]>;
    listLifelogsByRange(options: DateRangeOptions): Promise<Lifelog[]>;
    listRecentLifelogs(options?: ListLifelogsOptions): Promise<Lifelog[]>;
    searchLifelogs(options: SearchOptions): Promise<Lifelog[]>;
    private buildQueryParams;
    private fetchAllLifelogs;
}
//# sourceMappingURL=limitless-client.d.ts.map