import { GetErrorType, IResultFile, IServerFile, IServerFileForm, IServerImage, IServerImageForm, IUploadImage, UploadFile } from '../types';
/**
 * @description Создает url картинки
 * @param {string} name - название картинки
 * @param {string} extension - расширение картинки
 * @param {string} entityId - id сущности
 * @param {string} prefixe - префикс файла
 * @param {string | undefined} folder - название подпапки
 * @param {string} uploadUrl - url бакета
 * @param bucketFolder - enum с папкой бакета
 * @response Возвращает url
 */
export declare const getUploadImageUrl: <T>({ name, extension, entityId, prefixe, folder, bucketFolder, uploadUrl, }: {
    name: string;
    extension: string;
    entityId: string;
    prefixe: string;
    folder?: string;
    uploadUrl: string;
    bucketFolder: T;
}) => string;
/**
 * @description Создает url файла
 * @param {string} fullName - название файла
 * @param {string} entityId - id сущности
 * @param {string | undefined} folder - название подпапки
 * @param {string} uploadUrl - url бакета
 * @param bucketFolder - enum с папкой бакета
 * @response Возвращает url
 */
export declare const getUploadFileUrl: <T>({ fullName, entityId, folder, bucketFolder, uploadUrl, }: {
    fullName: string;
    entityId: string;
    folder?: string;
    uploadUrl: string;
    bucketFolder: T;
}) => string;
/**
 * @description Проверяет валидность объекта картинки по схеме
 * @param {object} object - объект с информацией о картинке
 * @response Возвращает true/false
 */
export declare const checkCorrectImageObject: (object: IServerImage, getError: GetErrorType) => boolean;
/**
 * @description Проверяет валидность объекта файла по схеме
 * @param {object} object - объект с информацией о файле
 * @response Возвращает true/false
 */
export declare const checkCorrectFileObject: (object: IServerFile, getError: GetErrorType) => boolean;
/**
 * @description Сортирует массив файлов по порядку из примера
 * @param {array} array - объект с файлоами
 * @param {string[]} reference - массив в порядком uid
 * @response Возвращает отсортированный массив файлов
 */
export declare const sortFilesArrayByReference: <T extends IResultFile>(array: T[], reference: string[]) => T[];
/**
 * @description Преобразует файлы с сервера в формат для работы с формой
 * @param {string | undefined | null} files - json stringify строка с информацией
 * @param bucketFolder - название папки в бакете
 * @param uploadUrl - Ссылка на бакет
 * @response Возвращает массив с подготовленными файлами
 */
export declare const prepareServerFiles: <T>(files: string | undefined | null, bucketFolder: T, uploadUrl: string, getError: GetErrorType) => {
    serverFiles: IServerFileForm[];
    uploadFiles: UploadFile[];
};
/**
 * @description Преобразует фотографии с сервера в формат для работы с формой
 * @param {string | undefined | null} images - json stringify строка с информацией
 * @param bucketFolder - название папки в бакете
 * @param uploadUrl - Ссылка на бакет
 * @response Возвращает массив с подготовленными картинками
 */
export declare const prepareServerImages: <T>(images: string | undefined | null, bucketFolder: T, uploadUrl: string, getError: GetErrorType) => {
    serverImages: IServerImageForm[];
    uploadImages: IUploadImage[];
};
export declare const getImagePrefix: (prefixes: string[], type: "original" | "0.25hd" | "0.5hd" | "1hd" | "2hd" | "4hd") => string;
