import { IncomingMessage } from '../requestCompat';
import { CrmDealsIdPatchRequest } from '../model/crmDealsIdPatchRequest';
import { CrmDealsLinkUnlinkIdPatchRequest } from '../model/crmDealsLinkUnlinkIdPatchRequest';
import { CrmDealsPost201Response } from '../model/crmDealsPost201Response';
import { CrmDealsPostRequest } from '../model/crmDealsPostRequest';
import { Deal } from '../model/deal';
import { DealAttributesInner } from '../model/dealAttributesInner';
import { DealsList } from '../model/dealsList';
import { Pipeline } from '../model/pipeline';
import { Authentication, Interceptor } from '../model/models';
import { ApiKeyAuth } from '../model/models';
export declare enum DealsApiApiKeys {
    apiKey = 0,
    partnerKey = 1
}
export declare class DealsApi {
    protected _basePath: string;
    protected _defaultHeaders: any;
    protected _useQuerystring: boolean;
    protected authentications: {
        default: Authentication;
        apiKey: ApiKeyAuth;
        partnerKey: ApiKeyAuth;
    };
    protected interceptors: Interceptor[];
    constructor(basePath?: string);
    set useQuerystring(value: boolean);
    set basePath(basePath: string);
    set defaultHeaders(defaultHeaders: any);
    get defaultHeaders(): any;
    get basePath(): string;
    setDefaultAuthentication(auth: Authentication): void;
    setApiKey(key: DealsApiApiKeys, value: string): void;
    addInterceptor(interceptor: Interceptor): void;
    crmAttributesDealsGet(options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: IncomingMessage;
        body: Array<DealAttributesInner>;
    }>;
    crmDealsGet(filtersAttributesDealName?: string, filtersLinkedCompaniesIds?: string, filtersLinkedContactsIds?: string, offset?: number, limit?: number, sort?: 'asc' | 'desc', sortBy?: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: IncomingMessage;
        body: DealsList;
    }>;
    crmDealsIdDelete(id: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: IncomingMessage;
        body?: any;
    }>;
    crmDealsIdGet(id: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: IncomingMessage;
        body: Deal;
    }>;
    crmDealsIdPatch(id: string, body: CrmDealsIdPatchRequest, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: IncomingMessage;
        body?: any;
    }>;
    crmDealsLinkUnlinkIdPatch(id: string, body: CrmDealsLinkUnlinkIdPatchRequest, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: IncomingMessage;
        body?: any;
    }>;
    crmDealsPost(body: CrmDealsPostRequest, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: IncomingMessage;
        body: CrmDealsPost201Response;
    }>;
    crmPipelineDetailsAllGet(options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: IncomingMessage;
        body: Array<Pipeline>;
    }>;
    crmPipelineDetailsGet(options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: IncomingMessage;
        body: Pipeline;
    }>;
    crmPipelineDetailsPipelineIDGet(pipelineID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: IncomingMessage;
        body: Array<Pipeline>;
    }>;
}
