import { DefaultFileStructureAdapterType } from './use-file-structure-types';
declare global {
    interface Window {
        Cypress: boolean;
    }
}
/**
 * Utility function that makes iterating over async calls step by step
 * @param {array} array - target array
 * @param {func} callback - an async action to perform
 */
declare const asyncForEach: <T>(array: Array<T>, callback: (entry: T, index: number, array: Array<T>) => Promise<void>) => Promise<void>;
/**
 * This method checks folder depth against provided limit
 * @param {number} maxLevel - max depth
 * @param {string} fullPath - a path to validate
 */
declare const isDepthAllowed: (maxLevel: number, fullPath: string) => boolean;
/**
 * This method converts callback pattern of readEntries to Promise pattern
 * 'readEntries' entries by batches
 */
declare const readEntriesAsync: (directoryReader: FileSystemDirectoryReader) => Promise<void | FileSystemEntry[]>;
/**
 * Converts callback pattern to Promise pattern
 */
declare const getEntryFileAsync: (itemEntry: FileSystemFileEntry) => Promise<void | File>;
/**
 * Check for feature support
 */
declare const isItemsFileStructureSupported: (items: DataTransferItemList) => any;
/**
 * Default file structure adaptor
 */
declare const defaultFileStructureAdapter: () => DefaultFileStructureAdapterType;
export { asyncForEach, defaultFileStructureAdapter, isDepthAllowed, readEntriesAsync, getEntryFileAsync, isItemsFileStructureSupported, };
