import { Folder, FolderTree } from './types';
import { Props } from '../types';
import { paths } from 'topvisor-openapi/src/ts/Topvisor';
import { components } from 'topvisor-openapi/src/ts/Keywords_2/Types/Folders/View';
import { components } from 'topvisor-openapi/src/ts/TV/API/Params/FieldsTrait';
import { components } from 'topvisor-openapi/src/ts/TV/API/Params/OrdersTrait';
import { components } from 'topvisor-openapi/src/ts/TV/API/Params/FiltersTrait';
import { components } from 'topvisor-openapi/src/ts/TV/API/Params/LimitTrait';
import { components } from 'topvisor-openapi/src/ts/TV/API/Params/OffsetTrait';
import { components } from 'topvisor-openapi/src/ts/TV/API/Params/ProjectIdTrait';
export declare const folderDefault: Folder;
/**
 * Сгенерировать объект корневой папки для компонента
 *
 * Содержит измененное имя
 *
 * Необходимо предустанавливать для минимизации `rerender`
 */
export declare const genRootFolder: (folders: FolderTree | undefined, useSelectAll: boolean) => Folder;
/**
 * Сгенерировать плоский список папок
 *
 * В `folders` должен передаваться список всех папок, дозагрузка не предусмотрена
 */
export declare const genFlat: (folderById: NonNullable<Props["folders"]>, useSelectAll: boolean, resultFolders?: Map<number, Folder>, parentFolder?: Folder, depth?: number) => Map<number, Folder>;
/**
 * Создать API запрос на получение групп
 */
export declare const genApiGetFolders: (client: Api.Client<Api.TV.Paths, true>) => Api.ClientRequest<Api.ClientRequestContext< paths, "/get/keywords_2/folders/", true>, ("name" | "id" | "path" | "parent_id")[], Api.Params<Api.ClientRequestContext< paths, "/get/keywords_2/folders/", true>, undefined, {
    "COUNT(*)"?: any;
    id?: any;
    project_id?: any;
    parent_id?: any;
    name?: any;
    count_folders?: any;
    count_groups?: any;
    count_groups_active?: any;
    ord?: any;
    path?: any;
    ord_path?: any;
}, {
    view?: components["schemas"]["Keywords_2.Types.Folders.View"];
    show_trash?: number;
    fields?: components["schemas"]["TV.API.Params.FieldsTrait"]["fields"];
    orders?: components["schemas"]["TV.API.Params.OrdersTrait"]["orders"];
    filters?: components["schemas"]["TV.API.Params.FiltersTrait"]["filters"];
    id?: components["schemas"]["TV.API.Params.FiltersTrait"]["id"];
    limit?: components["schemas"]["TV.API.Params.LimitTrait"]["limit"];
    offset?: components["schemas"]["TV.API.Params.OffsetTrait"]["offset"];
    project_id: components["schemas"]["TV.API.Params.ProjectIdTrait"]["project_id"];
}>, Api.ModelFields<{
    "COUNT(*)"?: any;
    id?: any;
    project_id?: any;
    parent_id?: any;
    name?: any;
    count_folders?: any;
    count_groups?: any;
    count_groups_active?: any;
    ord?: any;
    path?: any;
    ord_path?: any;
}> | undefined>;
