import type { SearchIndexClientOptionalParams } from "./api/index.js";
import type { SynonymMap, ListSynonymMapsResult, SearchIndex, SearchIndexResponse, GetIndexStatisticsResult, AnalyzeTextOptions, AnalyzeResult, SearchAlias, KnowledgeBase, KnowledgeSourceUnion, SearchServiceStatistics } from "../models/azure/search/documents/indexes/models.js";
import type { KnowledgeSourceStatus } from "../models/azure/search/documents/knowledgeBases/models.js";
import type { PagedAsyncIterableIterator } from "../static-helpers/pagingHelpers.js";
import type { GetServiceStatisticsOptionalParams, GetKnowledgeSourceStatusOptionalParams, CreateKnowledgeSourceOptionalParams, ListKnowledgeSourcesOptionalParams, GetKnowledgeSourceOptionalParams, DeleteKnowledgeSourceOptionalParams, CreateOrUpdateKnowledgeSourceOptionalParams, CreateKnowledgeBaseOptionalParams, ListKnowledgeBasesOptionalParams, GetKnowledgeBaseOptionalParams, DeleteKnowledgeBaseOptionalParams, CreateOrUpdateKnowledgeBaseOptionalParams, CreateAliasOptionalParams, ListAliasesOptionalParams, GetAliasOptionalParams, DeleteAliasOptionalParams, CreateOrUpdateAliasOptionalParams, AnalyzeTextOptionalParams, GetIndexStatisticsOptionalParams, CreateIndexOptionalParams, ListIndexesWithSelectedPropertiesOptionalParams, ListIndexesOptionalParams, GetIndexOptionalParams, DeleteIndexOptionalParams, CreateOrUpdateIndexOptionalParams, CreateSynonymMapOptionalParams, GetSynonymMapsOptionalParams, GetSynonymMapOptionalParams, DeleteSynonymMapOptionalParams, CreateOrUpdateSynonymMapOptionalParams } from "./api/options.js";
import type { KeyCredential, TokenCredential } from "@azure/core-auth";
import type { Pipeline } from "@azure/core-rest-pipeline";
export type { SearchIndexClientOptionalParams } from "./api/searchIndexContext.js";
export declare class SearchIndexClient {
    private _client;
    /** The pipeline used by this client to make requests */
    readonly pipeline: Pipeline;
    constructor(endpointParam: string, credential: KeyCredential | TokenCredential, options?: SearchIndexClientOptionalParams);
    /** Gets service level statistics for a search service. */
    getServiceStatistics(options?: GetServiceStatisticsOptionalParams): Promise<SearchServiceStatistics>;
    /** Retrieves the status of a knowledge source. */
    getKnowledgeSourceStatus(name: string, options?: GetKnowledgeSourceStatusOptionalParams): Promise<KnowledgeSourceStatus>;
    /** Creates a new knowledge source. */
    createKnowledgeSource(knowledgeSource: KnowledgeSourceUnion, options?: CreateKnowledgeSourceOptionalParams): Promise<KnowledgeSourceUnion>;
    /** Lists all knowledge sources available for a search service. */
    listKnowledgeSources(options?: ListKnowledgeSourcesOptionalParams): PagedAsyncIterableIterator<KnowledgeSourceUnion>;
    /** Retrieves a knowledge source definition. */
    getKnowledgeSource(name: string, options?: GetKnowledgeSourceOptionalParams): Promise<KnowledgeSourceUnion>;
    /** Deletes an existing knowledge source. */
    deleteKnowledgeSource(name: string, options?: DeleteKnowledgeSourceOptionalParams): Promise<void>;
    /** Creates a new knowledge source or updates an knowledge source if it already exists. */
    createOrUpdateKnowledgeSource(knowledgeSource: KnowledgeSourceUnion, name: string, options?: CreateOrUpdateKnowledgeSourceOptionalParams): Promise<KnowledgeSourceUnion>;
    /** Creates a new knowledge base. */
    createKnowledgeBase(knowledgeBase: KnowledgeBase, options?: CreateKnowledgeBaseOptionalParams): Promise<KnowledgeBase>;
    /** Lists all knowledge bases available for a search service. */
    listKnowledgeBases(options?: ListKnowledgeBasesOptionalParams): PagedAsyncIterableIterator<KnowledgeBase>;
    /** Retrieves a knowledge base definition. */
    getKnowledgeBase(name: string, options?: GetKnowledgeBaseOptionalParams): Promise<KnowledgeBase>;
    /** Deletes a knowledge base. */
    deleteKnowledgeBase(name: string, options?: DeleteKnowledgeBaseOptionalParams): Promise<void>;
    /** Creates a new knowledge base or updates a knowledge base if it already exists. */
    createOrUpdateKnowledgeBase(knowledgeBase: KnowledgeBase, name: string, options?: CreateOrUpdateKnowledgeBaseOptionalParams): Promise<KnowledgeBase>;
    /** Creates a new search alias. */
    createAlias(alias: SearchAlias, options?: CreateAliasOptionalParams): Promise<SearchAlias>;
    /** Lists all aliases available for a search service. */
    listAliases(options?: ListAliasesOptionalParams): PagedAsyncIterableIterator<SearchAlias>;
    /** Retrieves an alias definition. */
    getAlias(name: string, options?: GetAliasOptionalParams): Promise<SearchAlias>;
    /** Deletes a search alias and its associated mapping to an index. This operation is permanent, with no recovery option. The mapped index is untouched by this operation. */
    deleteAlias(name: string, options?: DeleteAliasOptionalParams): Promise<void>;
    /** Creates a new search alias or updates an alias if it already exists. */
    createOrUpdateAlias(alias: SearchAlias, name: string, options?: CreateOrUpdateAliasOptionalParams): Promise<SearchAlias>;
    /** Shows how an analyzer breaks text into tokens. */
    analyzeText(request: AnalyzeTextOptions, name: string, options?: AnalyzeTextOptionalParams): Promise<AnalyzeResult>;
    /** Returns statistics for the given index, including a document count and storage usage. */
    getIndexStatistics(name: string, options?: GetIndexStatisticsOptionalParams): Promise<GetIndexStatisticsResult>;
    /** Creates a new search index. */
    createIndex(index: SearchIndex, options?: CreateIndexOptionalParams): Promise<SearchIndex>;
    /** Lists all indexes available for a search service. */
    listIndexesWithSelectedProperties(options?: ListIndexesWithSelectedPropertiesOptionalParams): PagedAsyncIterableIterator<SearchIndexResponse>;
    /** Lists all indexes available for a search service. */
    listIndexes(options?: ListIndexesOptionalParams): PagedAsyncIterableIterator<SearchIndex>;
    /** Retrieves an index definition. */
    getIndex(name: string, options?: GetIndexOptionalParams): Promise<SearchIndex>;
    /** Deletes a search index and all the documents it contains. This operation is permanent, with no recovery option. Make sure you have a master copy of your index definition, data ingestion code, and a backup of the primary data source in case you need to re-build the index. */
    deleteIndex(name: string, options?: DeleteIndexOptionalParams): Promise<void>;
    /** Creates a new search index or updates an index if it already exists. */
    createOrUpdateIndex(index: SearchIndex, name: string, options?: CreateOrUpdateIndexOptionalParams): Promise<SearchIndex>;
    /** Creates a new synonym map. */
    createSynonymMap(synonymMap: SynonymMap, options?: CreateSynonymMapOptionalParams): Promise<SynonymMap>;
    /** Lists all synonym maps available for a search service. */
    getSynonymMaps(options?: GetSynonymMapsOptionalParams): Promise<ListSynonymMapsResult>;
    /** Retrieves a synonym map definition. */
    getSynonymMap(name: string, options?: GetSynonymMapOptionalParams): Promise<SynonymMap>;
    /** Deletes a synonym map. */
    deleteSynonymMap(name: string, options?: DeleteSynonymMapOptionalParams): Promise<void>;
    /** Creates a new synonym map or updates a synonym map if it already exists. */
    createOrUpdateSynonymMap(synonymMap: SynonymMap, name: string, options?: CreateOrUpdateSynonymMapOptionalParams): Promise<SynonymMap>;
}
//# sourceMappingURL=searchIndexClient.d.ts.map