export class ValidationManager {
    /** @param {import('./UploaderBlock.js').UploaderBlock} blockInstance */
    constructor(blockInstance: import('./UploaderBlock.js').UploaderBlock);
    /**
     * @private
     * @type {import('./UploaderBlock.js').UploaderBlock}
     */
    private _blockInstance;
    /** @type {FuncFileValidator[]} */
    _fileValidators: FuncFileValidator[];
    /** @type {FuncCollectionValidator[]} */
    _collectionValidators: FuncCollectionValidator[];
    _uploadCollection: import("./TypedCollection.js").TypedCollection;
    /** @param {string[]} [entryIds] */
    runFileValidators(entryIds?: string[] | undefined): void;
    runCollectionValidators(): void;
    /**
     * @private
     * @param {import('./TypedData.js').TypedData} entry
     */
    private _runFileValidatorsForEntry;
    /**
     * @template T
     * @param {T[]} validators
     * @returns {T[]}
     */
    _addCustomTypeToValidators<T>(validators: T[]): T[];
}
export type FuncFileValidator = (outputEntry: import('../types').OutputFileEntry, api: import('./UploaderPublicApi.js').UploaderPublicApi) => undefined | import('../types').OutputErrorFile;
export type FuncCollectionValidator = (collection: ReturnType<typeof import('./buildOutputCollectionState.js').buildOutputCollectionState<import('../types').OutputCollectionStatus>>, api: import('./UploaderPublicApi.js').UploaderPublicApi) => undefined | import('../types').OutputErrorCollection;
//# sourceMappingURL=ValidationManager.d.ts.map