import type { ICourierConfig, EventPayload } from '../types/courier';
import { InboxClient } from './inboxClient';
import { PreferencesClient } from './preferencesClient';
import { ToastClient } from './toastClient';
export declare class CourierClient {
    private onceLoaded;
    private onceReady;
    inbox: InboxClient;
    preferences: PreferencesClient;
    toast: ToastClient;
    isReady: boolean;
    private get sdk();
    constructor();
    init(config: ICourierConfig): Promise<void>;
    whenReady(callback: () => void): Promise<void>;
    onAny<T = unknown>(callback: (payload: EventPayload<T>) => void): this;
    on<T = unknown>(action: string, callback: (payload: EventPayload<T>) => void): this;
    renewSession(token: string): Promise<void>;
}
