import type { AgentRuntime } from "@best-agent/engine";
import type { ThreadDetail, ThreadId, ThreadMode } from "@best-agent/protocol";
import { type BridgeMessage, createBestAgentNativeBridge, type BestAgentSessionsApi } from "./best-agent-native-bridge.js";
type ACPMessage = Readonly<{
    content?: unknown;
    metadata?: Record<string, unknown>;
    reasoning_content?: string;
    role: "assistant" | "tool" | "user";
    tool_call_id?: string;
    tool_calls?: ReadonlyArray<{
        function: {
            arguments: string;
            name: string;
        };
        id: string;
        type: "function";
    }>;
}>;
type NativeBridge = ReturnType<typeof createBestAgentNativeBridge>;
type NativeAgent = NativeBridge["agent"];
type GoatChainBridgeAgent = NativeAgent & Readonly<{
    receiveMessage: (messages: readonly unknown[], metadata?: Record<string, unknown>) => AsyncIterable<ACPMessage>;
}>;
export type GoatChainSessionsApi = BestAgentSessionsApi;
export declare function resolveInitialGoatChainThread(runtime: AgentRuntime, options: Readonly<{
    latest?: boolean;
    resumeThreadId?: string;
    threadMode?: ThreadMode;
}>): Promise<ThreadDetail>;
export declare function createGoatChainBridge(options: Readonly<{
    agentProfile?: string;
    runtime: AgentRuntime;
    threadMode?: ThreadMode;
}>): Readonly<{
    agent: GoatChainBridgeAgent;
    attachStore: (store: unknown) => void;
    hydrateThread: (threadId: ThreadId) => Promise<BridgeMessage[]>;
    sessions: GoatChainSessionsApi;
}>;
export {};
//# sourceMappingURL=goatchain-adapter.d.ts.map