import { BaseChatModel, BaseChatModelParams } from "@langchain/core/language_models/chat_models";
import { BaseMessage } from "@langchain/core/messages";
import { CallbackManagerForLLMRun } from "@langchain/core/callbacks/manager";
import { ChatResult } from "@langchain/core/outputs";
export interface VeniceChatInput extends BaseChatModelParams {
    apiKey?: string;
    modelName: string;
    temperature?: number;
    maxTokens?: number;
    topP?: number;
    frequencyPenalty?: number;
    presencePenalty?: number;
    n?: number;
    stop?: string[] | string;
    seed?: number;
    streaming?: boolean;
    maxRetries?: number;
    baseUrl?: string;
    repetitionPenalty?: number;
    topK?: number;
    minP?: number;
    maxTemp?: number;
    minTemp?: number;
    veniceParameters?: {
        characterSlug?: string;
        enableWebSearch?: 'auto' | 'on' | 'off';
        includeVeniceSystemPrompt?: boolean;
    };
    responseFormat?: {
        type?: string;
        jsonSchema?: string | Record<string, unknown>;
    };
}
export declare class ChatVenice extends BaseChatModel {
    apiKey: string;
    modelName: string;
    temperature: number;
    maxTokens?: number;
    topP: number;
    frequencyPenalty: number;
    presencePenalty: number;
    n: number;
    stop?: string[] | string;
    seed?: number;
    streaming: boolean;
    maxRetries: number;
    baseUrl: string;
    repetitionPenalty?: number;
    topK?: number;
    minP?: number;
    maxTemp?: number;
    minTemp?: number;
    veniceParameters?: {
        characterSlug?: string;
        enableWebSearch?: 'auto' | 'on' | 'off';
        includeVeniceSystemPrompt?: boolean;
    };
    responseFormat?: {
        type?: string;
        jsonSchema?: string | Record<string, unknown>;
    };
    constructor(fields?: Partial<VeniceChatInput>);
    _llmType(): string;
    get identifyingParams(): {
        model_name: string;
        temperature: number;
        max_tokens: number | undefined;
        top_p: number;
        frequency_penalty: number;
        presence_penalty: number;
        n: number;
    };
    private messagesToVeniceFormat;
    _generate(messages: BaseMessage[], options?: this["ParsedCallOptions"], runManager?: CallbackManagerForLLMRun): Promise<ChatResult>;
    getNumTokensFromMessages(messages: BaseMessage[]): Promise<number>;
}
