import type { Step } from './Step.js';
import { StepNames } from './Step.js';
export type GenericDocument = {
    id: string;
    country: string;
    pages: number;
    title: string;
    subtitle: string;
};
export declare enum DocumentType {
    DrivingLicence = "driving_licence",
    GenericDocument = "generic_document",
    NationalIdentityCard = "national_identity_card",
    Passport = "passport",
    PassportCard = "passport_card",
    ResidencePermit = "residence_permit"
}
export type DocumentSelection = {
    id?: string;
    documentType: DocumentType;
    issuingCountry?: string;
    allCountries?: boolean;
};
export type DocumentFiltering = {
    exclude?: DocumentSelection[];
    include?: DocumentSelection[];
    extend?: GenericDocument[];
};
export type NfcPolicy = 'Disabled' | 'Optional' | 'Required';
export type DocumentOptions = {
    documentFiltering?: DocumentFiltering;
    nfcPolicy?: NfcPolicy;
};
export type DocumentStep = Step<StepNames.Document, DocumentOptions>;
export declare const defaultDocumentOptions: {};
export declare const Document: (options?: Partial<DocumentOptions>, key?: string) => DocumentStep;
