import SnsWebSdk from './SnsWebSdk';
import type { AnyEventName, EventPayload, PromisedTokenExpirationHandler, SnsWebSdkBaseConfig, SnsWebSdkOptions } from './types';
type EventHandler<EventType extends AnyEventName> = (payload: EventPayload<EventType>) => void;
type AnyEventHandler = <EventType extends AnyEventName = AnyEventName>(type: EventType, payload: EventPayload<EventType>) => void;
export declare class InitBuilder {
    private accessToken;
    private updateAccessToken;
    private baseUrl?;
    private config;
    private eventHandlers;
    private anyEventHandler;
    private options;
    constructor(accessToken: string, updateAccessToken: PromisedTokenExpirationHandler);
    onTestEnv(): this;
    withBaseUrl(baseUrl: string): this;
    withConf(config: SnsWebSdkBaseConfig): this;
    withOptions(options: Partial<SnsWebSdkOptions>): this;
    on<EventName extends AnyEventName>(event: EventName, handler: EventHandler<EventName>): this;
    onMessage(handler: AnyEventHandler): this;
    onNavigationUiControlsStateChanged(handler: EventHandler<'idCheck.onNavigationUiControlsStateChanged'>): this;
    build(): SnsWebSdk;
}
export {};
