import type { MessageParam } from "@anthropic-ai/sdk/resources";
import type { SessionMode } from "../../mailbox.js";
import type { ScreenshotInjector } from "../../screenshot-injector.js";
import type { AgentSessionConstructorArgs, AgentSessionLike, AgentStreamMessage, CurrentQueryLike, InjectMessageOptions, SendAndStreamOptions, UsageSnapshot } from "../session-types.js";
export declare class PiCodingAgentSession implements AgentSessionLike {
    private readonly config;
    private readonly buildSystemPrompt;
    private readonly runtimeSurface;
    private readonly getDualSessionEnabled;
    private readonly getAndroidUseEnabled;
    private readonly getCardAvailable;
    private readonly agentDir;
    private readonly sessionDir;
    private dynamicMcpServers;
    private session;
    private sessionFilePath;
    private sessionOpenMode;
    private currentSystemPrompt;
    private currentMcpFingerprint;
    private currentRuntimeFingerprint;
    private pendingResetSummary;
    private _screenshotInjector;
    private inputClosed;
    private stopRequested;
    private playwriterConnectionsResetThisTurn;
    private lastUsageSnapshot;
    private sessionId;
    private orphanedInjections;
    readonly mode: SessionMode;
    set screenshotInjector(injector: ScreenshotInjector | null);
    constructor({ config, buildSystemPrompt, runtimeSurface, 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: "pi-coding-agent";
        sessionFilePath?: string;
        sessionDir: string;
    };
    getUsageSnapshot(): UsageSnapshot | null;
    getCurrentQuery(): CurrentQueryLike | null;
    setDynamicMcpServers(servers: Record<string, Record<string, unknown>>): void;
    getDynamicMcpServers(): Record<string, Record<string, unknown>>;
    get isInputClosed(): boolean;
    get hasOrphanedInjections(): boolean;
    private disposeCurrentSession;
    private trimTranscriptAfterCompaction;
    private pruneTranscriptImages;
    private getMcpServers;
    private getMcpFingerprint;
    private getRuntimeFingerprint;
    private prepareMcpConfig;
    private deriveSessionFilePath;
    private findSessionFileById;
    private getSessionManager;
    private forceNewSessionId;
    private createSession;
    private logLoadedResources;
    private createVisionClawRuntimeExtension;
    private consumeResetSummaryContent;
    private streamMessages;
}
//# sourceMappingURL=session.d.ts.map