UNPKG

amocrm-client

Version:
47 lines (46 loc) 2.18 kB
import "reflect-metadata"; import { IClientOptions } from "./interfaces"; import { EventEmitter } from "./common/EventEmitter"; import { IConnection } from './common/Connection'; import { IEnvironment } from "./common/Environment"; import { IClientRequest } from "./common/ClientRequest"; import { IAuth } from "./common/Auth"; import { IToken } from "./common/Token"; import { JSONObject } from "./types"; import { IResourceEntity, IResourceFactory } from "./interfaces"; import { IAccountFactory } from "./api/factories/AccountFactory"; import { ICompanyFactory } from "./api/factories/CompanyFactory"; import { IContactFactory } from "./api/factories/ContactFactory"; import { ILeadFactory } from "./api/factories/LeadFactory"; import { ICompany } from "./api/models/Company"; import { IContact } from "./api/models/Contact"; import { ILead } from "./api/models/Lead"; import { IUserFactory } from "./api/factories/UserFactory"; import { IUser } from "./api/models/User"; export declare type IClientEntity<T> = new (attributes?: JSONObject) => T; /** * Основной класс библиотеки * */ export declare class Client extends EventEmitter { readonly token: IToken; readonly environment: IEnvironment; readonly request: IClientRequest; readonly connection: IConnection; readonly auth: IAuth; readonly Lead: IClientEntity<ILead>; readonly User: IClientEntity<IUser>; readonly Contact: IClientEntity<IContact>; readonly Company: IClientEntity<ICompany>; readonly account: IAccountFactory; readonly users: IUserFactory; readonly leads: ILeadFactory; readonly contacts: IContactFactory; readonly companies: ICompanyFactory; constructor(options: IClientOptions); /** * Привязывает конструктор сущностей * @param factory - фабрика сущностей * @returns функция конструктор для вызова new client[Entity] * */ protected assignEntity<T extends IResourceEntity<IResourceFactory<T>>>(factory: IResourceFactory<T>): new (attributes?: JSONObject | undefined) => T; }