import ResourceFactory from "../ResourceFactory"; import { IContact } from "../activeRecords/Contact"; import { ObjectKey } from "../../interfaces/common"; import { IResourceFactory } from "../../interfaces/api"; import { JSONObject } from "../../types"; import { 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 ContactsGetCriteria extends IGetCriteria { filter?: object; } export interface ContactsCreateCriteria { name?: string; first_name?: string; last_name?: string; responsible_user_id?: number; created_by?: number; updated_by?: number; created_at?: number; updated_at?: number; custom_fields_values?: JSONObject[] | null; _embedded?: JSONObject; request_id?: string; } export interface ContactCreateResult { id: number; request_id: string; } export interface ContactsUpdateCriteria extends ContactsCreateCriteria { id: number; } export interface ContactUpdateResult { id: number; request_id: string; updated_at: number; } export declare type IContactFactory = IHasGetFactory & IHasGetByIdFactory & IHasCreateFactory & IHasUpdateFactory & IResourceFactory & IHasTagsFactory & IHasTasksFactory; /** * Фабрика управления контактами * */ export declare class BaseContactFactory extends ResourceFactory { getEntityClass(): import("../../types").TConstructor; getBaseUrl(): string; getEmbeddedKey(): ObjectKey; } export declare const ContactFactory: any;