import { IGetCriteria, IHasGetFactory } from "./mixins/hasGetByCriteria"; import { IHasGetByIdFactory } from "./mixins/hasGetById"; import { IHasCreateFactory } from "./mixins/hasCreate"; import { IHasUpdateFactory } from "./mixins/hasUpdate"; import { ICustomer } from "../activeRecords/Customer"; import ResourceFactory from "../ResourceFactory"; import { IResourceFactory } from "../../interfaces/api"; import { JSONObject } from "../../types"; import { IHasTasksFactory } from "./mixins/hasTasks"; import { ObjectKey } from "../../interfaces/common"; import { IFactoryConstructors } from "./index"; export interface CustomersGetCriteria extends IGetCriteria { filter?: string; } export interface CustomersCreateCriteria { 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 CustomerCreateResult { id: number; request_id: string; } export interface CustomersUpdateCriteria extends CustomersCreateCriteria { id: number; } export interface CustomerUpdateResult { id: number; request_id: string; updated_at: number; } export declare type ICustomerFactory = IHasGetFactory & IHasGetByIdFactory & IHasCreateFactory & IHasUpdateFactory & IResourceFactory & IHasTasksFactory; export declare class BaseCustomerFactory extends ResourceFactory { getEntityClass(): import("../../types").TConstructor; getBaseUrl(): string; getEmbeddedKey(): ObjectKey; setMode(): void; } export declare const CustomerFactory: any;