/** * Фабрика для создания сделок {@link Tag} * */ import ResourceFactory from "../ResourceFactory"; import ResourcePagination from "../ResourcePagination"; import { IRequestOptions, ObjectKey } from "../../interfaces/common"; import { IResourceFactory } from "../../interfaces/api"; import { ITag } from "../activeRecords/Tag"; import { IGetTagsCriteria } from "./mixins/hasTags"; import { IClient } from "../../Client"; import { IFactoryConstructors } from "./index"; export interface TagCreateCriteria { name: string; color: string | null; request_id?: string; } export interface ITagFactory extends IResourceFactory { /** * @param criteria фильтр сделок (https://www.amocrm.ru/developers/content/crm_platform/companies-api#companies-list) * @example * ```ts * const pagination = await client.companies.get({ * order: 'created_at', * page: 2, * query: 'Иванов' * }) * ``` * @param options настройки запроса и обработки результата * @returns постраничную навигацию, экземпляр {@link ResourcePagination} * * @example * ```ts * const pagination = await client.companies.get() * const data = pagination.getData(); // [company, company] * const page = pagination.getPage(); * * await pagination.next(); * * const nextData = pagination.data(); * ``` * * Метод {@link ResourcePagination.getData | getData()} навигации вернёт массив объектов {@link Tag} * * */ get(criteria?: IGetTagsCriteria, options?: IRequestOptions): Promise>; create(criteria: (TagCreateCriteria | ITag)[], options?: IRequestOptions): Promise; } /** * Фабрика управления сделками * */ export declare class BaseTagFactory extends ResourceFactory { protected entityType: string; constructor(client: IClient, entityType: string); getEntityClass(): import("../../types").TConstructor; getBaseUrl(): string; getEmbeddedKey(): ObjectKey; } export declare const TagFactory: any;