import type { MessageParam } from "@anthropic-ai/sdk/resources";
import type { SessionMode } from "../../mailbox.js";
import type { AgentSessionConstructorArgs, AgentSessionLike, AgentStreamMessage, CurrentQueryLike, InjectMessageOptions, SendAndStreamOptions, UsageSnapshot } from "../session-types.js";
export declare class PiAgentSession implements AgentSessionLike {
    private readonly config;
    private readonly buildSystemPrompt;
    private readonly getDualSessionEnabled;
    private readonly getAndroidUseEnabled;
    private readonly getCardAvailable;
    private dynamicMcpServers;
    private piAgent;
    private inputClosed;
    private stopRequested;
    private lastUsageSnapshot;
    private sessionId;
    private pendingResetSummary;
    readonly hasOrphanedInjections = false;
    readonly mode: SessionMode;
    constructor({ config, buildSystemPrompt, sessionContext, }: AgentSessionConstructorArgs);
    warmUp(): Promise<void>;
    discardWarmQuery(): void;
    sendAndStream(content: MessageParam["content"], _options?: SendAndStreamOptions): AsyncIterable<AgentStreamMessage>;
    injectMessage(content: MessageParam["content"], _options?: InjectMessageOptions): boolean;
    closeInput(): void;
    requestStop(): void;
    clearStop(): void;
    isStopRequested(): boolean;
    captureSessionId(_id: string | undefined): void;
    captureUsageSnapshot(snapshot: UsageSnapshot): void;
    capturePostCompactionSnapshot(_postCompactionTokens: number): void;
    requestCompaction(): Promise<void>;
    maybeCompact(): Promise<void>;
    getSessionId(): string | null;
    resetForNewSession(summary?: string): void;
    injectSummary(summary: string): void;
    getTranscriptPath(): string | null;
    getTranscriptInfo(): {
        kind: "none";
    };
    getUsageSnapshot(): UsageSnapshot | null;
    getCurrentQuery(): CurrentQueryLike | null;
    setDynamicMcpServers(servers: Record<string, Record<string, unknown>>): void;
    getDynamicMcpServers(): Record<string, Record<string, unknown>>;
    get isInputClosed(): boolean;
    private resolvePiModel;
    private getApiKey;
    private streamMessages;
}
//# sourceMappingURL=session.d.ts.map