import { AsyncListResponse, Resource } from './resource.js';
import { Connector, CreateConnectorRequest, ListConnectorsQueryParams, UpdateConnectorRequest } from '../models/connectors.js';
import { Overrides } from '../config.js';
import { NylasBaseResponse, NylasListResponse, NylasResponse } from '../models/response.js';
import { Provider } from '../models/auth.js';
import { Credentials } from './credentials.js';
import APIClient from '../apiClient.js';
/**
 * The parameters for the {@link Connectors.find} method
 * @property provider The provider associated to the connector to retrieve.
 */
interface FindConnectorParams {
    provider: Provider;
}
/**
 * The parameters for the {@link Connectors.list} method
 * @property queryParams The query parameters to include in the request
 */
interface ListConnectorsParams {
    queryParams?: ListConnectorsQueryParams;
}
/**
 * The parameters for the {@link Connectors.create} method
 * @property requestBody The request body to create a connector
 */
interface CreateConnectorParams {
    requestBody: CreateConnectorRequest;
}
/**
 * The parameters for the {@link Connectors.update} method
 * @property provider The provider associated to the connector to update.
 * @property requestBody The request body to create a connector
 */
interface UpdateConnectorParams {
    provider: Provider;
    requestBody: UpdateConnectorRequest;
}
/**
 * The parameters for the {@link Connectors.destroy} method
 * @property provider The provider associated to the connector to update.
 */
interface DestroyConnectorParams {
    provider: string;
}
export declare class Connectors extends Resource {
    /**
     * Access the Credentials API
     */
    credentials: Credentials;
    /**
     * @param apiClient client The configured Nylas API client
     */
    constructor(apiClient: APIClient);
    /**
     * Return all connectors
     * @return A list of connectors
     */
    list({ queryParams, overrides, }: ListConnectorsParams & ListConnectorsQueryParams & Overrides): AsyncListResponse<NylasListResponse<Connector>>;
    /**
     * Return a connector
     * @return The connector
     */
    find({ provider, overrides, }: FindConnectorParams & Overrides): Promise<NylasResponse<Connector>>;
    /**
     * Create a connector
     * @return The created connector
     */
    create({ requestBody, overrides, }: CreateConnectorParams & Overrides): Promise<NylasResponse<Connector>>;
    /**
     * Update a connector
     * @return The updated connector
     */
    update({ provider, requestBody, overrides, }: UpdateConnectorParams & Overrides): Promise<NylasResponse<Connector>>;
    /**
     * Delete a connector
     * @return The deleted connector
     */
    destroy({ provider, overrides, }: DestroyConnectorParams & Overrides): Promise<NylasBaseResponse>;
}
export {};
