///
import { UseAsyncReturn } from 'react-async-hook';
import { IAsset } from '@shared/interfaces/model';
import { ModelState } from '@admin/helpers/hooks';
import ExtendedSelection from '@admin/helpers/selection';
declare const FOLDER_MIME_TYPE = "application/vnd.burdy.folder";
declare const IMAGE_MIME_TYPES: string[];
declare type ViewTypes = 'list' | 'tiles';
declare type Arrayable = T | T[];
interface IFileWithData {
file: File;
data: any;
}
interface IUpload {
status?: 'uploading' | 'done';
name?: string;
progress?: number;
}
interface IUploads {
[key: string]: IUpload;
}
interface IAssetsContext {
getAssets: UseAsyncReturn;
getAncestors: UseAsyncReturn;
createFolder: UseAsyncReturn;
upload: UseAsyncReturn]>;
del: UseAsyncReturn;
update: UseAsyncReturn;
rename: UseAsyncReturn;
params: any;
setParams: (v: any) => void;
selectedAssets: IAsset[];
selection: ExtendedSelection;
uploads: IUploads;
assets: IAsset[];
assetsState: ModelState;
stateData: any;
setStateData: (key: string, val: any) => void;
openFolderDialog: () => void;
openFileDialog: () => void;
openItem: (data?: any) => void;
view: ViewTypes;
setView: (type: ViewTypes) => void;
assetSrc: (asset: IAsset) => string;
}
declare const AssetsContextProvider: ({ children }: {
children: any;
}) => JSX.Element;
declare const useAssets: () => IAssetsContext;
export { useAssets, AssetsContextProvider, FOLDER_MIME_TYPE, IMAGE_MIME_TYPES };