import type { SearchIndexerClientOptionalParams } from "./api/index.js";
import type { SearchIndexerDataSourceConnection, ListDataSourcesResult, SearchIndexer, ListIndexersResult, SearchIndexerStatus, SearchIndexerSkillset, ListSkillsetsResult } from "../models/azure/search/documents/indexes/models.js";
import type { CreateSkillsetOptionalParams, GetSkillsetsOptionalParams, GetSkillsetOptionalParams, DeleteSkillsetOptionalParams, CreateOrUpdateSkillsetOptionalParams, GetIndexerStatusOptionalParams, CreateIndexerOptionalParams, GetIndexersOptionalParams, GetIndexerOptionalParams, DeleteIndexerOptionalParams, CreateOrUpdateIndexerOptionalParams, RunIndexerOptionalParams, ResetIndexerOptionalParams, CreateDataSourceConnectionOptionalParams, GetDataSourceConnectionsOptionalParams, GetDataSourceConnectionOptionalParams, DeleteDataSourceConnectionOptionalParams, CreateOrUpdateDataSourceConnectionOptionalParams } from "./api/options.js";
import type { KeyCredential, TokenCredential } from "@azure/core-auth";
import type { Pipeline } from "@azure/core-rest-pipeline";
export type { SearchIndexerClientOptionalParams } from "./api/searchIndexerContext.js";
export declare class SearchIndexerClient {
    private _client;
    /** The pipeline used by this client to make requests */
    readonly pipeline: Pipeline;
    constructor(endpointParam: string, credential: KeyCredential | TokenCredential, options?: SearchIndexerClientOptionalParams);
    /** Creates a new skillset in a search service. */
    createSkillset(skillset: SearchIndexerSkillset, options?: CreateSkillsetOptionalParams): Promise<SearchIndexerSkillset>;
    /** List all skillsets in a search service. */
    getSkillsets(options?: GetSkillsetsOptionalParams): Promise<ListSkillsetsResult>;
    /** Retrieves a skillset in a search service. */
    getSkillset(name: string, options?: GetSkillsetOptionalParams): Promise<SearchIndexerSkillset>;
    /** Deletes a skillset in a search service. */
    deleteSkillset(name: string, options?: DeleteSkillsetOptionalParams): Promise<void>;
    /** Creates a new skillset in a search service or updates the skillset if it already exists. */
    createOrUpdateSkillset(skillset: SearchIndexerSkillset, name: string, options?: CreateOrUpdateSkillsetOptionalParams): Promise<SearchIndexerSkillset>;
    /** Returns the current status and execution history of an indexer. */
    getIndexerStatus(name: string, options?: GetIndexerStatusOptionalParams): Promise<SearchIndexerStatus>;
    /** Creates a new indexer. */
    createIndexer(indexer: SearchIndexer, options?: CreateIndexerOptionalParams): Promise<SearchIndexer>;
    /** Lists all indexers available for a search service. */
    getIndexers(options?: GetIndexersOptionalParams): Promise<ListIndexersResult>;
    /** Retrieves an indexer definition. */
    getIndexer(name: string, options?: GetIndexerOptionalParams): Promise<SearchIndexer>;
    /** Deletes an indexer. */
    deleteIndexer(name: string, options?: DeleteIndexerOptionalParams): Promise<void>;
    /** Creates a new indexer or updates an indexer if it already exists. */
    createOrUpdateIndexer(indexer: SearchIndexer, name: string, options?: CreateOrUpdateIndexerOptionalParams): Promise<SearchIndexer>;
    /** Runs an indexer on-demand. */
    runIndexer(name: string, options?: RunIndexerOptionalParams): Promise<void>;
    /** Resets the change tracking state associated with an indexer. */
    resetIndexer(name: string, options?: ResetIndexerOptionalParams): Promise<void>;
    /** Creates a new datasource. */
    createDataSourceConnection(dataSourceConnection: SearchIndexerDataSourceConnection, options?: CreateDataSourceConnectionOptionalParams): Promise<SearchIndexerDataSourceConnection>;
    /** Lists all datasources available for a search service. */
    getDataSourceConnections(options?: GetDataSourceConnectionsOptionalParams): Promise<ListDataSourcesResult>;
    /** Retrieves a datasource definition. */
    getDataSourceConnection(name: string, options?: GetDataSourceConnectionOptionalParams): Promise<SearchIndexerDataSourceConnection>;
    /** Deletes a datasource. */
    deleteDataSourceConnection(name: string, options?: DeleteDataSourceConnectionOptionalParams): Promise<void>;
    /** Creates a new datasource or updates a datasource if it already exists. */
    createOrUpdateDataSourceConnection(dataSource: SearchIndexerDataSourceConnection, name: string, options?: CreateOrUpdateDataSourceConnectionOptionalParams): Promise<SearchIndexerDataSourceConnection>;
}
//# sourceMappingURL=searchIndexerClient.d.ts.map