import { VerificationState, ISuccessResult, AppErrorCodes, IDKitConfig } from '@worldcoin/idkit-core';
export { AppErrorCodes, IDKitConfig, ISuccessResult, VerificationLevel, VerificationState } from '@worldcoin/idkit-core';

type SessionStatus = {
    state: VerificationState;
    result: ISuccessResult | null;
    errorCode: AppErrorCodes | null;
};
declare class Session {
    private store;
    constructor();
    create(app_id: IDKitConfig['app_id'], action: IDKitConfig['action'], options?: {
        signal?: IDKitConfig['signal'];
        bridge_url?: IDKitConfig['bridge_url'];
        verification_level?: IDKitConfig['verification_level'];
        action_description?: IDKitConfig['action_description'];
        partner?: IDKitConfig['partner'];
    }): Promise<Session>;
    /**
     * Polls for verification updates
     */
    pollForUpdates(): Promise<void>;
    /**
     * Polls for updates and returns the current session status
     */
    status(): Promise<SessionStatus>;
    /**
     * Gets the current session URI that can be used to start verification
     */
    get sessionURI(): string | null;
    /**
     * Destroys the session and cleans up resources
     */
    destroy(): void;
}

export { Session, type SessionStatus, Session as default };
