/**
 * Apideck
 * The Apideck OpenAPI Spec: SDK Optimized
 *
 * The version of the OpenAPI document: 10.13.0
 * Contact: support@apideck.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import { CreateLeadResponse, DeleteLeadResponse, GetLeadResponse, GetLeadsResponse, Lead, LeadsFilter, LeadsSort, UpdateLeadResponse } from '../models';
import * as runtime from '../runtime';
export interface LeadApiLeadsAddRequest {
    lead: Lead;
    raw?: boolean;
    consumerId?: string;
    appId?: string;
    serviceId?: string;
}
export interface LeadApiLeadsAllRequest {
    raw?: boolean;
    consumerId?: string;
    appId?: string;
    serviceId?: string;
    cursor?: string | null;
    limit?: number;
    filter?: LeadsFilter;
    sort?: LeadsSort;
    fields?: string | null;
}
export interface LeadApiLeadsDeleteRequest {
    id: string;
    consumerId?: string;
    appId?: string;
    serviceId?: string;
    raw?: boolean;
}
export interface LeadApiLeadsOneRequest {
    id: string;
    consumerId?: string;
    appId?: string;
    serviceId?: string;
    raw?: boolean;
    fields?: string | null;
}
export interface LeadApiLeadsUpdateRequest {
    id: string;
    lead: Lead;
    consumerId?: string;
    appId?: string;
    serviceId?: string;
    raw?: boolean;
}
/**
 *
 */
export declare class LeadApi extends runtime.BaseAPI {
    /**
     * Create lead
     * Create lead
     */
    leadsAddRaw(requestParameters: LeadApiLeadsAddRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<CreateLeadResponse>>;
    /**
     * Create lead
     * Create lead
     */
    leadsAdd(requestParameters: LeadApiLeadsAddRequest, initOverrides?: RequestInit): Promise<CreateLeadResponse>;
    /**
     * List leads
     * List leads
     */
    leadsAllRaw(requestParameters: LeadApiLeadsAllRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<GetLeadsResponse>>;
    /**
     * List leads
     * List leads
     */
    leadsAll(requestParameters?: LeadApiLeadsAllRequest, initOverrides?: RequestInit): Promise<GetLeadsResponse>;
    /**
     * Delete lead
     * Delete lead
     */
    leadsDeleteRaw(requestParameters: LeadApiLeadsDeleteRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<DeleteLeadResponse>>;
    /**
     * Delete lead
     * Delete lead
     */
    leadsDelete(requestParameters: LeadApiLeadsDeleteRequest, initOverrides?: RequestInit): Promise<DeleteLeadResponse>;
    /**
     * Get lead
     * Get lead
     */
    leadsOneRaw(requestParameters: LeadApiLeadsOneRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<GetLeadResponse>>;
    /**
     * Get lead
     * Get lead
     */
    leadsOne(requestParameters: LeadApiLeadsOneRequest, initOverrides?: RequestInit): Promise<GetLeadResponse>;
    /**
     * Update lead
     * Update lead
     */
    leadsUpdateRaw(requestParameters: LeadApiLeadsUpdateRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<UpdateLeadResponse>>;
    /**
     * Update lead
     * Update lead
     */
    leadsUpdate(requestParameters: LeadApiLeadsUpdateRequest, initOverrides?: RequestInit): Promise<UpdateLeadResponse>;
}
