import { type FetchResponse } from '@strapi/admin/strapi-admin';
import { File } from '../../../shared/contracts/files';
import { Folder } from '../../../shared/contracts/folders';
export interface FolderWithType extends Folder {
    type: string;
}
export interface FileWithType extends File {
    type: string;
}
interface BulkMoveParams {
    destinationFolderId: number | string;
    filesAndFolders: Array<FolderWithType | FileWithType>;
}
export declare const useBulkMove: () => {
    move: (destinationFolderId: number | string, filesAndFolders: Array<FolderWithType | FileWithType>) => Promise<FetchResponse<{
        data: {
            files: File[];
            folders: [];
        };
    } | {
        data: {
            files: [];
            folders: Folder[];
        };
    }>>;
    data: undefined;
    error: null;
    isError: false;
    isIdle: true;
    isLoading: false;
    isSuccess: false;
    status: "idle";
    mutate: import("react-query").UseMutateFunction<FetchResponse<{
        data: {
            files: File[];
            folders: [];
        };
    } | {
        data: {
            files: [];
            folders: Folder[];
        };
    }>, import("@strapi/utils/dist/errors").ApplicationError<"ApplicationError", string, unknown> | import("@strapi/utils/dist/errors").ValidationError<string, unknown> | undefined, BulkMoveParams, unknown>;
    reset: () => void;
    context: unknown;
    failureCount: number;
    isPaused: boolean;
    variables: BulkMoveParams | undefined;
    mutateAsync: import("react-query").UseMutateAsyncFunction<FetchResponse<{
        data: {
            files: File[];
            folders: [];
        };
    } | {
        data: {
            files: [];
            folders: Folder[];
        };
    }>, import("@strapi/utils/dist/errors").ApplicationError<"ApplicationError", string, unknown> | import("@strapi/utils/dist/errors").ValidationError<string, unknown> | undefined, BulkMoveParams, unknown>;
} | {
    move: (destinationFolderId: number | string, filesAndFolders: Array<FolderWithType | FileWithType>) => Promise<FetchResponse<{
        data: {
            files: File[];
            folders: [];
        };
    } | {
        data: {
            files: [];
            folders: Folder[];
        };
    }>>;
    data: undefined;
    error: null;
    isError: false;
    isIdle: false;
    isLoading: true;
    isSuccess: false;
    status: "loading";
    mutate: import("react-query").UseMutateFunction<FetchResponse<{
        data: {
            files: File[];
            folders: [];
        };
    } | {
        data: {
            files: [];
            folders: Folder[];
        };
    }>, import("@strapi/utils/dist/errors").ApplicationError<"ApplicationError", string, unknown> | import("@strapi/utils/dist/errors").ValidationError<string, unknown> | undefined, BulkMoveParams, unknown>;
    reset: () => void;
    context: unknown;
    failureCount: number;
    isPaused: boolean;
    variables: BulkMoveParams | undefined;
    mutateAsync: import("react-query").UseMutateAsyncFunction<FetchResponse<{
        data: {
            files: File[];
            folders: [];
        };
    } | {
        data: {
            files: [];
            folders: Folder[];
        };
    }>, import("@strapi/utils/dist/errors").ApplicationError<"ApplicationError", string, unknown> | import("@strapi/utils/dist/errors").ValidationError<string, unknown> | undefined, BulkMoveParams, unknown>;
} | {
    move: (destinationFolderId: number | string, filesAndFolders: Array<FolderWithType | FileWithType>) => Promise<FetchResponse<{
        data: {
            files: File[];
            folders: [];
        };
    } | {
        data: {
            files: [];
            folders: Folder[];
        };
    }>>;
    data: undefined;
    error: import("@strapi/utils/dist/errors").ApplicationError<"ApplicationError", string, unknown> | import("@strapi/utils/dist/errors").ValidationError<string, unknown> | undefined;
    isError: true;
    isIdle: false;
    isLoading: false;
    isSuccess: false;
    status: "error";
    mutate: import("react-query").UseMutateFunction<FetchResponse<{
        data: {
            files: File[];
            folders: [];
        };
    } | {
        data: {
            files: [];
            folders: Folder[];
        };
    }>, import("@strapi/utils/dist/errors").ApplicationError<"ApplicationError", string, unknown> | import("@strapi/utils/dist/errors").ValidationError<string, unknown> | undefined, BulkMoveParams, unknown>;
    reset: () => void;
    context: unknown;
    failureCount: number;
    isPaused: boolean;
    variables: BulkMoveParams | undefined;
    mutateAsync: import("react-query").UseMutateAsyncFunction<FetchResponse<{
        data: {
            files: File[];
            folders: [];
        };
    } | {
        data: {
            files: [];
            folders: Folder[];
        };
    }>, import("@strapi/utils/dist/errors").ApplicationError<"ApplicationError", string, unknown> | import("@strapi/utils/dist/errors").ValidationError<string, unknown> | undefined, BulkMoveParams, unknown>;
} | {
    move: (destinationFolderId: number | string, filesAndFolders: Array<FolderWithType | FileWithType>) => Promise<FetchResponse<{
        data: {
            files: File[];
            folders: [];
        };
    } | {
        data: {
            files: [];
            folders: Folder[];
        };
    }>>;
    data: FetchResponse<{
        data: {
            files: File[];
            folders: [];
        };
    } | {
        data: {
            files: [];
            folders: Folder[];
        };
    }>;
    error: null;
    isError: false;
    isIdle: false;
    isLoading: false;
    isSuccess: true;
    status: "success";
    mutate: import("react-query").UseMutateFunction<FetchResponse<{
        data: {
            files: File[];
            folders: [];
        };
    } | {
        data: {
            files: [];
            folders: Folder[];
        };
    }>, import("@strapi/utils/dist/errors").ApplicationError<"ApplicationError", string, unknown> | import("@strapi/utils/dist/errors").ValidationError<string, unknown> | undefined, BulkMoveParams, unknown>;
    reset: () => void;
    context: unknown;
    failureCount: number;
    isPaused: boolean;
    variables: BulkMoveParams | undefined;
    mutateAsync: import("react-query").UseMutateAsyncFunction<FetchResponse<{
        data: {
            files: File[];
            folders: [];
        };
    } | {
        data: {
            files: [];
            folders: Folder[];
        };
    }>, import("@strapi/utils/dist/errors").ApplicationError<"ApplicationError", string, unknown> | import("@strapi/utils/dist/errors").ValidationError<string, unknown> | undefined, BulkMoveParams, unknown>;
};
export {};
