import { SvelteComponent } from 'svelte';
import { TSteps } from '../configuration/types';
export declare const DocumentType: {
    readonly PASSPORT: "passport";
    readonly DRIVERS_LICENSE: "drivers_license";
    readonly RESIDENCE_PERMIT: "residence_permit";
    readonly ID_CARD: "id_card";
    readonly VOTER_ID: "voter_id";
    readonly WORK_PERMIT: "work_permit";
    readonly VISA: "visa";
    readonly BANK_STATEMENT: "bank_statement";
    readonly PROOF_OF_BUSINESS_TAX_ID: "proof_of_business_tax_id";
    readonly OPERATING_LICENSE: "operating_license";
    readonly BUSINESS_REGISTRATION: "business_registration";
    readonly SELFIE: "selfie";
};
export type ObjectValues<TObject> = TObject[keyof TObject];
export type TDocumentType = ObjectValues<typeof DocumentType>;
export declare const DocumentKind: {
    readonly PASSPORT: "passport";
    readonly ID_CARD: "id_card";
    readonly DRIVERS_LICENSE: "drivers_license";
    readonly SELFIE: "selfie";
    readonly VOTER_ID: "voter_id";
    readonly IFE_CARD: "ife_card";
    readonly INE_CARD: "ine_card";
};
export type TDocumentKind = ObjectValues<typeof DocumentKind>;
export declare const DocumentVariant: {
    readonly A4: "a4";
    readonly REGULAR: "regular";
};
export type TDocumentVariant = ObjectValues<typeof DocumentVariant>;
export interface IDocumentInfo {
    backSide: boolean;
    variant: TDocumentVariant;
    type: TDocumentType;
    kind: TDocumentKind;
    orderIndex: number;
}
export type IPageSide = 'front' | 'back' | 'selfie';
export interface IDocumentPage {
    base64?: string;
    uri?: string;
    side: IPageSide;
}
export interface IDocument {
    type: TDocumentType;
    kind?: TDocumentKind;
    metadata: Record<string, string>;
    pages: IDocumentPage[];
}
export interface IStoreData {
    docs: IDocument[];
    selectedDocumentInfo?: IDocumentInfo;
    selfie?: string;
}
export interface IStep {
    name: TSteps;
    id: string;
    component: typeof SvelteComponent;
}
export interface IStore {
    currentStepIndex: number;
    data: IStoreData;
}
export declare const DecisionStatus: {
    readonly APPROVED: "approved";
    readonly RESUBMISSION_REQUESTED: "resubmission_requested";
    readonly DECLINED: "declined";
    readonly EXPIRED: "expired";
    readonly ABANDONED: "abandoned";
    readonly REVIEW: "review";
};
export type TDecisionStatus = ObjectValues<typeof DecisionStatus>;
export interface DevMocks {
    resultTime: number | string;
    reasonCode: number;
    code: number;
    idvResult: TDecisionStatus;
}
export interface IAppState {
    currentStepIdx: number;
    currentPage: string;
    previousPage: string;
}
export type ISelectedParams = Record<string, string | boolean>;
//# sourceMappingURL=types.d.ts.map