import { IEmbeddedEntity, IEntityAttributes, IResourceEntity } from "../../interfaces/api"; import { ICustomerFactory } from "../factories/CustomerFactory"; import { JSONObject, TConstructor } from "../../types"; import ResourceEntity from "../ResourceEntity"; import { IHasSave } from "./mixins/hasSave"; import { IHasFetch } from "./mixins/hasFetch"; import { IHasEmbeddedTags } from "./Tag"; import { IHasTasks } from "./mixins/hasTasks"; import { IHasEmbedded } from "./mixins/hasEmbedded"; export interface CustomerAttributes extends IEntityAttributes { name?: string; next_price?: number; next_date?: number; responsible_user_id?: number; periodicity?: number; created_by?: number; updated_by?: number; created_at?: number; updated_at?: number; custom_fields_values?: JSONObject[] | null; _embedded?: ICustomerEmbedded; } export declare type ICustomerEmbedded = IHasEmbeddedTags; export interface IEmbeddedCustomer extends IEmbeddedEntity { id?: number; } export interface IHasEmbeddedCustomers { customers?: IEmbeddedCustomer[]; } export declare type ICustomer = IResourceEntity & CustomerAttributes & IHasEmbedded & IHasSave & IHasFetch & IHasTasks; export declare class BaseCustomer extends ResourceEntity { name?: string; next_price?: number; next_date?: number; responsible_user_id?: number; periodicity?: number; created_by?: number; updated_by?: number; created_at?: number; updated_at?: number; custom_fields_values?: JSONObject[] | null; _embedded?: ICustomerEmbedded; getAttributes(): CustomerAttributes; setAttributes(attributes?: CustomerAttributes): void; } export declare const Customer: TConstructor;