import type { IDocumentStore } from "../../IDocumentStore.js";
import type { AiAgentConfiguration } from "./Agents/config/AiAgentConfiguration.js";
import type { AiAgentConfigurationResult } from "./Agents/AiAgentConfigurationResult.js";
import type { GetAiAgentsResponse } from "./Agents/GetAiAgentsResponse.js";
import type { AiConversationCreationOptions } from "./Agents/AiConversationCreationOptions.js";
import { AiConversation } from "./AiConversation.js";
export declare class AiOperations {
    private readonly _store;
    private readonly _databaseName;
    private readonly _executor;
    /**
     * Initializes a new instance of AiOperations for a given document store and optional database name.
     */
    constructor(store: IDocumentStore, databaseName?: string);
    /**
     * Returns an AiOperations instance for a different database.
     */
    forDatabase(databaseName: string): AiOperations;
    /**
     * Creates or updates an AI agent configuration (with the given schema) on the database.
     */
    createAgent<TSchema>(configuration: AiAgentConfiguration, sampleObject?: TSchema): Promise<AiAgentConfigurationResult>;
    /**
     * Retrieves the AI agent configuration for a specific agent.
     */
    getAgent(agentId: string): Promise<AiAgentConfiguration | null>;
    /**
     * Retrieves all AI agents and their configurations.
     */
    getAgents(): Promise<GetAiAgentsResponse>;
    /**
     * Deletes an AI agent configuration.
     */
    deleteAgent(identifier: string): Promise<AiAgentConfigurationResult>;
    /**
     * Opens an AI conversation for an agent.
     */
    conversation(agentId: string, conversationId: string, creationOptions?: AiConversationCreationOptions, changeVector?: string): AiConversation;
}
//# sourceMappingURL=AiOperations.d.ts.map