import { V as Validator, b as FileAmountLimitConfig, U as UseFilePickerConfig, c as FileSizeRestrictions, d as ImageDimensionRestrictionsConfig, a as FileWithPath$1 } from '../interfaces-DZ8vOLhN.js';
import { FileWithPath } from 'file-selector';

declare class FileAmountLimitValidator extends Validator {
    private limitAmountOfFilesConfig;
    constructor(limitAmountOfFilesConfig: FileAmountLimitConfig);
    validateBeforeParsing(_config: UseFilePickerConfig, plainFiles: File[]): Promise<void>;
    validateAfterParsing(): Promise<void>;
}

declare class FileSizeValidator extends Validator {
    private fileSizeRestrictions;
    constructor(fileSizeRestrictions: FileSizeRestrictions);
    validateBeforeParsing(_config: UseFilePickerConfig, plainFiles: File[]): Promise<void>;
    validateAfterParsing(_config: UseFilePickerConfig, _file: FileWithPath): Promise<void>;
}

declare class ImageDimensionsValidator extends Validator {
    private imageSizeRestrictions;
    constructor(imageSizeRestrictions: ImageDimensionRestrictionsConfig);
    validateBeforeParsing(): Promise<void>;
    validateAfterParsing(config: UseFilePickerConfig, file: FileWithPath, reader: FileReader): Promise<void>;
}

declare class PersistentFileAmountLimitValidator extends Validator {
    private limitFilesConfig;
    private previousPlainFiles;
    constructor(limitFilesConfig: FileAmountLimitConfig);
    onClear(): void;
    onFileRemoved(_removedFile: File, removedIndex: number): void;
    validateBeforeParsing(_config: UseFilePickerConfig, plainFiles: File[]): Promise<void>;
    validateAfterParsing(): Promise<void>;
}

declare class FileTypeValidator extends Validator {
    private readonly acceptedFileExtensions;
    constructor(acceptedFileExtensions: string[]);
    validateBeforeParsing(_config: UseFilePickerConfig, plainFiles: File[]): Promise<void>;
    validateAfterParsing(_config: UseFilePickerConfig, _file: FileWithPath$1, _reader: FileReader): Promise<void>;
}

export { FileAmountLimitValidator, FileSizeValidator, FileTypeValidator, ImageDimensionsValidator, PersistentFileAmountLimitValidator, Validator };
