import type { Logger } from "pino";
import type { AgentLaunchContext, AgentModelDefinition, AgentPersistenceHandle, AgentSession, AgentSessionConfig } from "../agent-sdk-types.js";
import type { ProviderRuntimeSettings } from "../provider-launch-config.js";
import { ACPAgentClient, type SessionStateResponse } from "./acp-agent.js";
type PiACPAgentClientOptions = {
    logger: Logger;
    runtimeSettings?: ProviderRuntimeSettings;
};
export declare function transformPiModels(models: AgentModelDefinition[]): AgentModelDefinition[];
/**
 * Pi-acp reports thinking levels (off/minimal/low/medium/high/xhigh) as ACP
 * session modes rather than as configOptions with category 'thought_level'.
 * This transformer remaps them so the base ACP class treats them as thinking
 * options instead of permission modes.
 */
export declare function transformPiSessionResponse(response: SessionStateResponse): SessionStateResponse;
export declare function wrapPiSession(session: AgentSession, config: Pick<AgentSessionConfig, "provider" | "cwd" | "thinkingOptionId">): AgentSession;
export declare class PiACPAgentClient extends ACPAgentClient {
    constructor(options: PiACPAgentClientOptions);
    createSession(config: AgentSessionConfig, launchContext?: AgentLaunchContext): Promise<AgentSession>;
    resumeSession(handle: AgentPersistenceHandle, overrides?: Partial<AgentSessionConfig>, launchContext?: AgentLaunchContext): Promise<AgentSession>;
    isAvailable(): Promise<boolean>;
}
export {};
//# sourceMappingURL=pi-acp-agent.d.ts.map