UNPKG

amocrm-client

Version:
80 lines (79 loc) 2.18 kB
/// <reference types="node" /> import * as http from 'http'; import { TStringValueObject } from "../types"; export interface ITokenOptions { client_id: string; client_secret: string; redirect_uri: string; code?: string; } export interface IAuthOptions extends ITokenOptions { state?: string; server?: { port?: number; }; } export interface IClientOptions { [index: string]: string | object; domain: string; auth: IAuthOptions; } export interface ITokenData { token_type: string; expires_in: number; access_token: string; refresh_token: string; expires_at?: number; } export interface IRequestOptions { headers?: TStringValueObject; useFormData?: boolean; parser?: IResponseParser<string>; } export interface IDomainRequestOptions { domain: string; method: string; url: string; data?: object; options?: IRequestOptions; token?: ITokenData; } export interface IAPIResponse<T> { response: http.IncomingMessage; data: T; } export interface IAuthServerOptions { state?: string; port: number; } export interface IAuthUrlParams { client_id: string; mode: string; state?: string; } export interface IAPIResponseErrorValue { hint: string; title: string; type: string; status: number; detail: string; } export interface IResponseParser<T> { parse<R>(result: IAPIResponse<T>): IAPIResponse<R>; } export interface RangeFilter { from?: number | string; to?: number | string; } export interface StatusFilter { pipeline_id: number; status_id: number; } export interface CustomFieldFilter { [index: number]: Array<number | string | RangeFilter>; } declare type Enumerate<N extends number, Acc extends number[] = []> = Acc['length'] extends N ? Acc[number] : Enumerate<N, [...Acc, Acc['length']]>; export declare type IntRange<F extends number, T extends number> = Exclude<Enumerate<T>, Enumerate<F>>; export declare type PartialWithRequired<T, K extends keyof T> = Pick<T, K> & Partial<T>; export declare type Moment = moment.Moment; export {};