import { FormHook, FormInputLocalization, FormElement } from "../../features/form-hook/index";
import { AnyObjectSchema } from 'yup';
type UploadState = 'idle' | 'uploading' | 'success' | 'error';
export declare class FormFile implements FormElement {
    name: string;
    wrapperId: string;
    form: FormHook<any>;
    isLoading?: boolean;
    wrapperClass: string;
    isDisabled?: boolean;
    accept?: string;
    maxSize?: number;
    required?: boolean;
    signUrl?: string;
    maxUpload: number;
    signMethod: 'POST' | 'PUT';
    signPrefix?: string;
    accountName?: string;
    containerName?: string;
    localization?: FormInputLocalization<{
        uploading?: string;
        upload?: string;
        failure?: string;
        success?: string;
    }>;
    fileName: string;
    uploadState: UploadState;
    failedText: string;
    el: HTMLElement;
    sasFiles: any[];
    private fileInput?;
    private controlsFormLoading;
    private wasFormLoading;
    componentWillLoad(): Promise<void>;
    componentDidLoad(): void;
    disconnectedCallback(): Promise<void>;
    reset(): void;
    private startGlobalLoading;
    private stopGlobalLoading;
    private openFilePicker;
    private getLoadingText;
    private getUploadText;
    private getFailureText;
    private matchesAccept;
    private syncValue;
    private requestSignedUpload;
    private uploadToSignedUrl;
    private handleFileChange;
    validate: () => AnyObjectSchema;
    render(): any;
}
export {};
