/** * Фабрика для создания сделок {@link Lead} * */ import ResourceFactory from "../ResourceFactory"; import { ILead } from "../activeRecords/Lead"; import { ObjectKey } from "../../interfaces/common"; import { JSONObject } from "../../types"; import { IResourceFactory } from "../../interfaces/api"; import { hasGetByCriteria, IGetCriteria, IHasGetFactory } from "./mixins/hasGetByCriteria"; import { IHasGetByIdFactory } from "./mixins/hasGetById"; import { IHasCreateFactory } from "./mixins/hasCreate"; import { IHasUpdateFactory } from "./mixins/hasUpdate"; import { IHasTagsFactory } from "./mixins/hasTags"; import { IHasTasksFactory } from "./mixins/hasTasks"; import { IFactoryConstructors } from "./index"; export interface LeadsGetCriteria extends IGetCriteria { filter?: object; } export interface LeadsCreateCriteria { name?: string; price?: number; status_id?: number; pipeline_id?: number; created_by?: number; updated_by?: number; closed_at?: number; loss_reason_id?: number; responsible_user_id?: number; custom_fields_values?: JSONObject[] | null; _embedded?: JSONObject; request_id?: string; } export interface LeadsUpdateCriteria extends LeadsCreateCriteria { id: number; } export declare type ILeadFactory = IResourceFactory & IHasGetFactory & IHasGetByIdFactory & IHasCreateFactory & IHasUpdateFactory & IHasTagsFactory & IHasTasksFactory; /** * Фабрика управления сделками * */ export declare class BaseLeadFactory extends ResourceFactory { getEntityClass(): import("../../types").TConstructor; getBaseUrl(): string; getEmbeddedKey(): ObjectKey; /** * @todo https://www.amocrm.ru/developers/content/crm_platform/leads-api#leads-complex-add * */ complexCreate(): Promise; } export declare const mixins: (typeof hasGetByCriteria)[]; export declare const LeadFactory: any;