import { EventEmitter } from '../../../../stencil-public-runtime';
import { ComponentErrorEvent, ComponentFormStepCompleteEvent, FileSelectEvent, IDocument, Identity } from '../../../../api';
import { CountryCode } from '../../../../utils/country-codes';
import { UploadedDocumentEntry } from './document-upload-options';
export declare class DocumentUploadFormStep {
    authToken: string;
    businessId: string;
    allowOptionalFields?: boolean;
    country: CountryCode;
    owners: Identity[];
    existingDocuments: IDocument[];
    selectedCategory: string;
    selectedDocType: string;
    uploadQueue: UploadedDocumentEntry[];
    isLoading: boolean;
    errors: {
        [key: string]: string;
    };
    fileInputKey: number;
    getBusiness: Function;
    postDocumentRecord: Function;
    private categories;
    propChanged(): void;
    watchHandler(newValue: boolean): void;
    errorEvent: EventEmitter<ComponentErrorEvent>;
    stepCompleteEvent: EventEmitter<ComponentFormStepCompleteEvent>;
    formLoading: EventEmitter<boolean>;
    validateAndSubmit({ onSuccess }: {
        onSuccess: any;
    }): Promise<void>;
    componentWillLoad(): void;
    private initializeApi;
    private getData;
    private get categoryOptions();
    private get docTypeOptions();
    private validate;
    handleCategoryChange: (_name: string, value: string) => void;
    handleDocTypeChange: (_name: string, value: string) => void;
    handleFileSelected: (e: CustomEvent<FileSelectEvent>) => Promise<void>;
    private postDocumentRecordData;
    private handleDocRecordResponse;
    private uploadDocument;
    render(): any;
}
