import { AxiosInstance } from 'axios'; import { Task, Note, Tag, AmoApiClientOptions, GetLeadsParams, SourceParams, WebhookParams, PhoneCallParams, GetAccountParams, GetTalkParams, AddTagParams, Contact, Company, FilterParams, PageParams, QueryParams, EntityData, CustomFieldData, TemplateData, UnsortedData } from './interfaces'; export declare class AmoApiClient { domain: string; axios: AxiosInstance; constructor(domain: string, accessToken: string, options?: AmoApiClientOptions); getWebhooks(): Promise; setWebhook(params: WebhookParams): Promise; getWebhookEvents(): string[]; deleteWebhook({ destination }: { destination: string; }): Promise; getAccount(paramIn?: GetAccountParams): Promise; getUsers(): Promise; getUserById(userId: number): Promise; getLeads(params: GetLeadsParams): Promise; getBaseLeadPayload(name: string, price: number, createdBy?: number): { name: string; created_by: number; price: number; }; getPipelineLeadPayload(pipelineId: number, statusId?: number): { pipeline_id: number; status_id: number; }; addLead(leadData: EntityData): Promise; getLeadLinks(leadId: number): Promise; getLeadsNotes(params: PageParams): Promise; getLeadsTags(paramsIn: PageParams): Promise; addNoteToLead(leadId: number, note: Note): Promise; getLeadById(leadId: number, params: { contacts?: boolean; }): Promise; getLeadNoteById(leadId: number, noteId: number): Promise; getLeadsCustomFields(paramsIn: PageParams): Promise; getLeadsCustomFieldGroups(): Promise; getLeadsCustomFieldGroupById(groupId: string): Promise; updateLead(data: EntityData): Promise; getLossReasons(): Promise; addLeadsCustomFields(fields: CustomFieldData[]): Promise; getPipelines(): Promise; getPipelineById(pipelineId: number): Promise; getPipelineStatuses(pipelineId: number): Promise; getTasks(paramsIn: PageParams): Promise; getTaskById(taskId: number): Promise; editTask(taskId: number, data: EntityData): Promise; addTask(task: Task): Promise; getContacts(params: PageParams & QueryParams): Promise; addNoteToContact(contactId: number, note: Note): Promise; getContactPayload(name: string, phone: string): Contact; addContact(contact: Contact): Promise; getContact(contactId: number, params: { leads?: boolean; }): Promise; getContactLinks(contactId: number): Promise; getLinksByEntityType(entityType: string, entityId: number): Promise; getCustomFieldsByEntityType(entityType: string, params: PageParams): Promise; getContactsCustomFields(paramsIn: PageParams): Promise; getLeadsCustomFieldById(customFieldId: string): Promise; getCompaniesCustomFieldById(customFieldId: string): Promise; getContactsCustomFieldById(customFieldId: string): Promise; getCustomFieldById(entityType: string, customFieldId: string): Promise; getContactsTags(paramsIn: PageParams): Promise; getContactsCustomFieldGroups(): Promise; getContactsCustomFieldGroupById(groupId: string): Promise; addContactsCustomFields(fields: CustomFieldData[]): Promise; private addCustomFields; updateContact(id: number, data: object): Promise; getContactsChats(contactIds: number[]): Promise; getContactChats(contactId: number): Promise; attachChatToContact(chatId: string, contactId: number): Promise; getEntityFiles(entityType: string, contactId: number): Promise; getContactFiles(contactId: number): Promise; getLeadFiles(leadId: number): Promise; linkFileToContact(fileUUID: string, contactId: number): Promise; linkFileToLead(fileUUID: string, leadId: number): Promise; getCompanies(params: PageParams & QueryParams): Promise; getCompany(companyId: number, params: { leads?: boolean; }): Promise; addCompany(company: Company): Promise; getCompanyLinks(companyId: number): Promise; getCompanyNotes(companyId: number): Promise; getCompanyNoteById(companyId: number, noteId: number): Promise; getCompaniesNotes(params: PageParams): Promise; getCompanyFiles(companyId: number): Promise; getCompaniesCustomFieldGroups(): Promise; getCompaniesCustomFieldGroupById(groupId: string): Promise; getCompaniesCustomFields(paramsIn: PageParams): Promise; getCompaniesTags(paramsIn: PageParams): Promise; getEvents(paramsIn: PageParams): Promise; getEventById(eventId: number, paramWith?: { catalogElements?: boolean; lossReason?: boolean; contacts?: boolean; }): Promise; getEventTypes(): Promise; notifyPhoneCall(phoneNumber: string, userIds?: number[]): Promise; addPhoneCall(phoneCall: PhoneCallParams): Promise; getTalks(paramsIn?: GetTalkParams): Promise; getUrl(url: string, options: Record): Promise; getTalkById(talkId: number): Promise; closeTalkById(talkId: number, forceClose?: boolean): Promise; getShortLinkForContact(url: string, contactId: number): Promise; getNotesByEntityType(entityType: string, paramsIn: PageParams): Promise; getContactNotes(contactId: number): Promise; getContactNoteById(contactId: number, noteId: number): Promise; getContactsNotes(params: PageParams): Promise; getNotesByEntityId(entityType: string, entityId: number): Promise; getNoteById(entityType: string, entityId: number, noteId: number): Promise; addNote(entityType: string, entityId: number, note: Note): Promise; getWidgets(params: PageParams): Promise; getWidget(widgetCode: string): Promise; getSources(): Promise; getSourceById(sourceId: number): Promise; addSource(params: SourceParams): Promise; deleteSourceById(sourceId: number): Promise; getSalesBots(): Promise; getTemplates(paramsIn: PageParams): Promise; getTemplateById(templateId: string): Promise; updateTemplateById(templateId: string, template: TemplateData): Promise; addTemplate(templates: TemplateData): Promise; deleteTemplateById(templateId: string): Promise; getLeadsWithFilter(params: PageParams & QueryParams & { filter?: FilterParams; }): Promise; private getTags; getTagsForLeads(paramsIn: PageParams): Promise; private addTag; addTagForLeads(tag: AddTagParams): Promise; private appendTags; appendTagsToLead(entityId: number, tags: Tag[]): Promise; getUnsorted(paramsIn: PageParams): Promise; getUnsortedSummary(): Promise; getUnsortedByUID(uid: string): Promise; addUnsortedSip(data: UnsortedData): Promise; addUnsortedForms(data: UnsortedData): Promise; acceptUnsorted(uid: string, userId: number, statusId: number): Promise; declineUnsorted(uid: string, userId?: number): Promise; linkUnsorted(uid: string, data: UnsortedData): Promise; }