import type { CaptureRunEvents } from './Events';
import { ClassicSdkParameters } from './shared/Public.types';
import { CrossDeviceSdkParameters } from './shared/Public.types';
import type { Listener } from './shared/EventEmitter';
import { SdkParameters } from './shared/Public.types';
import type { SdkParameters as SdkParameters_2 } from './shared/SdkParameters';
import { StudioSdkParameters } from './shared/Public.types';

export declare const backwardCompatibility: (parameter: SdkParameters) => SdkParameters;

export { ClassicSdkParameters }

export { CrossDeviceSdkParameters }

export declare type Handle = {
    addEventListener: <EventName extends keyof CaptureRunEvents>(eventName: EventName, listener: Listener<CaptureRunEvents[EventName]>) => void;
    removeEventListener: <EventName extends keyof CaptureRunEvents>(eventName: EventName, listener: Listener<CaptureRunEvents[EventName]>) => void;
    tearDown: () => Promise<void>;
    version?: string;
};

export declare const migrateToCaptureApi: (parameter: SdkParameters, mainInstance?: boolean) => SdkParameters_2;

export declare const Onfido: OnfidoApi;

export declare type OnfidoApi = {
    init: (parameter: SdkParameters) => Handle;
};

export { SdkParameters }

export { StudioSdkParameters }

export { }
