import { fetchExistingVerificationRequest } from './VerificationApiClient/fetchExistingVerificationRequest';
import { CollectFieldsResponse, DatabaseId, ViewModel, VerificationResponse, VerificationStep, ProgramTheme, ErrorResponse, Locale, NetworkErrorId, ApplicableDocTypesResponse, AllStatuses } from '../types/types';

/**
 * Initiate a new verification attempt with the SheerID REST service.
 *
 * @param programId Your programId from my.sheerid.com
 * @param trackingId Conversion trackingId to associate with this verification attempt.
 */
declare function fetchNewVerificationRequest(programId: DatabaseId, trackingId?: string, forceNewVerificationRequest?: boolean, headers?: {}): Promise<VerificationResponse>;
declare function fetchProgramTheme(programId: DatabaseId, locale?: Locale): Promise<ProgramTheme>;
declare function getResendNewSmsCode(verificationId: DatabaseId): Promise<any>;
declare function getResendNewEmailCode(verificationId: DatabaseId): Promise<any>;
export declare function getMockVerificationRequestErrorResponse(errorId: NetworkErrorId): VerificationResponse;
declare function submitStep(stepName: VerificationStep, previousResponse: VerificationResponse, viewModel: ViewModel): Promise<VerificationResponse | ErrorResponse>;
export declare function getAllFieldsToCollect(verificationId: DatabaseId, step: VerificationStep, requestBody: {
    statuses?: AllStatuses[];
}): Promise<CollectFieldsResponse>;
export declare const VerificationApiClient: {
    fetchNewVerificationRequest: typeof fetchNewVerificationRequest;
    fetchExistingVerificationRequest: typeof fetchExistingVerificationRequest;
    fetchProgramTheme: typeof fetchProgramTheme;
    getResendNewSmsCode: typeof getResendNewSmsCode;
    getResendNewEmailCode: typeof getResendNewEmailCode;
    getIdCheckDocTypeForCountry: (verificationId: DatabaseId, countries: string[]) => Promise<ApplicableDocTypesResponse>;
    submitStep: typeof submitStep;
};
export {};
