import { RequestResponse } from "../types/dialogue_response_v3";
export type DialogueRequestParams = {
    /** Unique identifier for the chat session */
    chatId?: string;
    /** The message to be sent to the AI */
    message: string;
    /** AI model to use for generating responses */
    model?: string;
    /** Additional instructions for location-specific context */
    instructions?: string;
    /** Platform where the chat is occurring */
    platform?: string;
    /** Custom personality configuration for the AI */
    personality?: string;
};
export type DialogueRequestOptions = Omit<Omit<DialogueRequestParams, "message">, "chatId">;
export type ConversationOptions = {
    /** The conversation ID to load the conversation from, server will error if this convo id doesn't exist */
    convoId?: string;
    /** The API key to use */
    apiKey: string;
    /** The server URL to use */
    serverUrl?: string;
    /** The path to append to the server URL specifying the API endpoint to use */
    path?: string;
    /** Whether to enable debug logs */
    debug?: boolean;
};
export declare class Conversation {
    convoId?: string;
    apiKey: string;
    private debug;
    private options?;
    private endpoint;
    constructor(config: ConversationOptions);
    /** Sets the endpoint where the request is sent to, appended to server URL */
    setEndpoint(endpoint: string): this;
    /** Sets the conversation ID, has to be an existing conversation ID, undefined otherwise */
    setConvoId(convoId: string | undefined): this;
    /** Sets the AI model used for the next interaction, e.g Claude-Sonnet, GPT-4 */
    setModel(model: string): this;
    /** Sets additional instructions for location-specific context */
    setInstructions(instructions: string): this;
    /** Sets the platform where the chat is occurring, used internally for logging - ignore in most contexts */
    setPlatform(platform: string): this;
    /** Sets a custom personality configuration for the AI */
    setPersonality(personality: string): this;
    /** Gets the current conversation ID */
    getConvoId(): string | undefined;
    /** Gets the current endpoint */
    getEndpoint(): string;
    /** Gets the current options object */
    getModel(): string | undefined;
    /** Gets the current location-specific instructions */
    getInstructions(): string | undefined;
    /** Gets the current platform */
    getPlatform(): string | undefined;
    /** Gets the current personality configuration */
    getPersonality(): string | undefined;
    /** Sends a message into the conversation */
    send(message: string, cb: (chunk: RequestResponse) => any, options?: DialogueRequestOptions): Promise<void>;
}
