import { ConversationList, ConversationMessages } from "./models/Conversation";
import type { AdditionalContext } from "./models/AdditionalContext";
import type { UsageStatus } from "./models/UsageStatus";
export declare class AgentApiService {
    private readonly url;
    private readonly urlWs;
    private readonly environment;
    private readonly axios;
    private token;
    private socket;
    private socketAwaitingApproval;
    constructor(env: string, token?: string | null);
    setToken(token?: string | null): void;
    getSocket(): WebSocket | null;
    private detachSocket;
    fetchConversationMessages: (conversationId: string, options?: {
        cursor?: string;
        limit?: number;
    }) => Promise<ConversationMessages>;
    fetchConversationList: () => Promise<ConversationList>;
    renameConversation: (conversationId: string, newTitle: string) => Promise<void>;
    deleteConversation: (conversationId: string) => Promise<void>;
    postFeedback: (messageId: string, score: string, comment: string) => Promise<void>;
    fetchUsageStatus: (userId: string) => Promise<UsageStatus>;
    postChat(message: string, currentAppName: string, currentConversationId: string | null, agentContext: AdditionalContext, currentUrl: string, appInitiated: boolean, userTimezone: string | null): Promise<number>;
    respondToApproval(decisions: Array<{
        tool_call_id: string;
        type: "approve" | "reject";
    }>, conversationId: string | null): void;
    private openSocket;
}
