import type { KeyCredential, TokenCredential } from "@azure/core-auth";
import type { Pipeline } from "@azure/core-rest-pipeline";
import type { KnowledgeBaseRetrievalRequest, KnowledgeBaseRetrievalResponse } from "./models/azure/search/documents/knowledgeBases/index.js";
import type { RetrieveOptions } from "./knowledgeBaseModels.js";
import type { ClientOptions } from "@azure-rest/core-client";
/**
 * Client options used to configure Cognitive Search API requests.
 */
export interface KnowledgeRetrievalClientOptions extends ClientOptions {
    /**
     * The service version to use when communicating with the service.
     */
    serviceVersion?: string;
    /**
     * The Audience to use for authentication with Azure Active Directory (AAD). The
     * audience is not considered when using a shared key.
     * {@link KnownSearchAudience} can be used interchangeably with audience
     */
    audience?: string;
}
/**
 * Class used to perform operations against a knowledge base.
 */
export declare class KnowledgeRetrievalClient {
    /**
     *  The service version to use when communicating with the service.
     */
    readonly serviceVersion: string;
    /**
     * The endpoint of the search service
     */
    readonly endpoint: string;
    /**
     * The name of the knowledge base
     */
    readonly knowledgeBaseName: string;
    /**
     * @hidden
     * A reference to the auto-generated KnowledgeRetrievalClient
     */
    private readonly client;
    /**
     * A reference to the internal HTTP pipeline for use with raw requests
     */
    readonly pipeline: Pipeline;
    /**
     * Creates an instance of KnowledgeRetrievalClient.
     *
     * Example usage:
     * ```ts snippet:ReadmeSampleKnowledgeRetrievalClient
     * import { KnowledgeRetrievalClient, AzureKeyCredential } from "@azure/search-documents";
     *
     * const knowledgeRetrievalClient = new KnowledgeRetrievalClient(
     *   "<endpoint>",
     *   "<knowledgeBaseName>",
     *   new AzureKeyCredential("<apiKey>"),
     * );
     * ```
     
     * @param endpoint - The endpoint of the search service
     * @param knowledgeBaseName - The name of the knowledge base
     * @param credential - Used to authenticate requests to the service.
     * @param options - Used to configure the Search client.
     */
    constructor(endpoint: string, knowledgeBaseName: string, credential: KeyCredential | TokenCredential, options?: KnowledgeRetrievalClientOptions);
    retrieve(retrievalRequest: KnowledgeBaseRetrievalRequest, options?: RetrieveOptions): Promise<KnowledgeBaseRetrievalResponse>;
}
//# sourceMappingURL=knowledgeRetrievalClient.d.ts.map