export interface ClientOptions {
    apiKey?: string;
    baseUrl?: string;
    fetchImpl?: typeof fetch;
}
export declare class AllRatesTodayError extends Error {
    readonly status?: number | undefined;
    readonly body?: unknown | undefined;
    constructor(message: string, status?: number | undefined, body?: unknown | undefined);
}
export declare class AllRatesTodayClient {
    private readonly apiKey?;
    private readonly baseUrl;
    private readonly fetchImpl;
    constructor(options?: ClientOptions);
    private request;
    getRate(source: string, target: string): Promise<{
        rate: number;
        source: string;
    }>;
    getHistoricalRates(source: string, target: string, period?: '1d' | '7d' | '30d' | '1y'): Promise<{
        source: string;
        target: string;
        period: string;
        source_api?: string;
        data: {
            date: string;
            rate: number;
            timestamp: number;
        }[];
    }>;
    getAuthenticatedRates(params: {
        source?: string;
        target?: string;
        time?: string;
        group?: 'hour' | 'day' | 'week' | 'month';
    }): Promise<{
        rate: number;
        source: string;
        target: string;
        time: string;
    }[]>;
    listSymbols(): Promise<{
        currencies: {
            code: string;
            name: string;
            symbol: string;
        }[];
        count: number;
    }>;
}
