import { Folder } from '../folders/types';
import { Group } from './types';
import { paths } from 'topvisor-openapi/src/ts/Topvisor';
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';
import { components } from 'topvisor-openapi/src/ts/TV/API/Params/FetchStyleTrait';
import { components } from 'topvisor-openapi/src/ts/Keywords_2/Types/Groups/ToType';
/**
 * Элемент - группа ненайдена
 *
 * Указывается несуществующий id
 */
export declare const groupNone: Group;
/**
 * Элемент для выбора всех групп
 */
export declare const groupAll: Group;
/**
 * Элемент - `Все группы`
 */
export declare const genGroupAll: () => Group;
/**
 * Элемент - `Выберите группу`
 */
export declare const genGroupPlaceholder: () => Group;
/**
 * Сгенерировать список групп для TopSelector
 */
export declare const genItems: (groups: Group[], on?: boolean, folderForFilter?: Folder) => Group[];
/**
 * Создать API запрос на получение групп
 */
export declare const genApiGetGroups: (client: Api.Client<Api.TV.Paths, true>) => Api.ClientRequest<Api.ClientRequestContext< paths, "/get/keywords_2/groups/", true>, ("name" | "id" | "folder_id" | "folder_path")[], Api.Params<Api.ClientRequestContext< paths, "/get/keywords_2/groups/", true>, undefined, {
    "COUNT(*)"?: any;
    id?: any;
    project_id?: any;
    folder_id?: any;
    name?: any;
    on?: any;
    status?: any;
    ord?: any;
    folder_path?: any;
    folder_ord?: any;
    count_keywords?: any;
    volume?: any;
    "POSITIONS_AVG()"?: any;
    "POSITIONS_TOP10()"?: any;
    "POSITIONS_VISIBILITY()"?: any;
}, {
    folder_id_depth?: boolean | null;
    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"];
    fetch_style?: components["schemas"]["TV.API.Params.FetchStyleTrait"]["fetch_style"];
}>, Api.ModelFields<{
    "COUNT(*)"?: any;
    id?: any;
    project_id?: any;
    folder_id?: any;
    name?: any;
    on?: any;
    status?: any;
    ord?: any;
    folder_path?: any;
    folder_ord?: any;
    count_keywords?: any;
    volume?: any;
    "POSITIONS_AVG()"?: any;
    "POSITIONS_TOP10()"?: any;
    "POSITIONS_VISIBILITY()"?: any;
}> | undefined>;
/**
 * Создать API запрос на получение групп
 */
export declare const genApiAddGroup: (client: Api.Client<Api.TV.Paths, true>) => Api.ClientRequest<Api.ClientRequestContext< paths, "/add/keywords_2/groups/", true>, never, Omit<{
    to_id?: number;
    to_type?: components["schemas"]["Keywords_2.Types.Groups.ToType"];
    names?: unknown[] | null;
    name?: unknown[] | null;
    on?: boolean;
    status?: boolean;
    project_id: components["schemas"]["TV.API.Params.ProjectIdTrait"]["project_id"];
}, "fields" | "filters" | "orders" | "fetch_style">, never>;
