/**
 * AgentSession - Core abstraction for agent lifecycle and session management.
 *
 * The historical import path is preserved here as a facade. Responsibilities are
 * implemented in sibling modules by lifecycle area so each authored source file
 * stays below the repository file-length gate.
 */
import type { Agent, AgentTool, ThinkingLevel } from "@earendil-works/pi-agent-core";
import type { Api, AssistantMessage, Model } from "@earendil-works/pi-ai/compat";
import type { BashExecutionMessage, CustomMessage } from "./messages.ts";
import type { ModelRegistry } from "./model-registry.ts";
import type { ResourceLoader } from "./resource-loader.ts";
import type { SessionManager } from "./session-manager.js";
import type { SettingsManager } from "./settings-manager.ts";
import type { BuildSystemPromptOptions } from "./system-prompt.ts";
import type { AsyncJobManager } from "./async/job-manager.js";
import type { AgentSessionPublicSurface } from "./agent-session-methods.ts";
import type { AgentSessionConfig, AgentSessionEventListener, InterruptQueueHold, ToolDefinitionEntry } from "./agent-session-types.ts";
import type { ExtensionCommandContextActions, ExtensionErrorListener, ExtensionMode, ExtensionRunner, ExtensionUIContext, OrchestrationContext, SessionStartEvent, ToolDefinition } from "./extensions/index.ts";
export type { AgentSessionConfig, AgentSessionEvent, AgentSessionEventListener, ExtensionBindings, ModelCycleResult, PromptOptions, SessionStats, } from "./agent-session-types.ts";
export { parseSkillBlock } from "./agent-session-skill-block.ts";
export type { ParsedSkillBlock } from "./agent-session-skill-block.ts";
export declare class AgentSession {
    readonly agent: Agent;
    readonly sessionManager: SessionManager;
    readonly settingsManager: SettingsManager;
    protected _scopedModels: Array<{
        model: Model<Api>;
        thinkingLevel?: ThinkingLevel;
    }>;
    protected _fallbackModels: string[];
    protected _fallbackAttemptedKeys: Set<string>;
    protected _unsubscribeAgent?: () => void;
    protected _eventListeners: AgentSessionEventListener[];
    protected _agentEventQueue: Promise<void>;
    protected _steeringMessages: string[];
    protected _followUpMessages: string[];
    protected _interruptDeliveryQueue: Promise<void>;
    protected _pendingInterruptDeliveries: number;
    protected _activeInterruptQueueHold: InterruptQueueHold | undefined;
    protected _activeInterruptAbortMessage: string | undefined;
    protected _pendingNextTurnMessages: CustomMessage[];
    protected _compactionAbortController: AbortController | undefined;
    protected _autoCompactionAbortController: AbortController | undefined;
    protected _overflowRecoveryAttempted: boolean;
    protected _pendingPostCompactionContinuation: Promise<void> | undefined;
    protected _postCompactionContinuationToken: number;
    protected _lengthContinuationAttempts: number;
    protected _outputBudgetErrorContinuationAttempts: number;
    protected _branchSummaryAbortController: AbortController | undefined;
    protected _retryAbortController: AbortController | undefined;
    protected _retryAttempt: number;
    protected _retryPromise: Promise<void> | undefined;
    protected _retryResolve: (() => void) | undefined;
    protected _bashAbortController: AbortController | undefined;
    protected _pendingBashMessages: BashExecutionMessage[];
    protected _extensionRunner: ExtensionRunner;
    protected _turnIndex: number;
    protected _resourceLoader: ResourceLoader;
    protected _customTools: ToolDefinition[];
    protected _baseToolDefinitions: Map<string, ToolDefinition>;
    protected _cwd: string;
    protected _extensionRunnerRef?: {
        current?: ExtensionRunner;
    };
    protected _initialActiveToolNames?: string[];
    protected _allowedToolNames?: Set<string>;
    protected _excludedToolNames?: Set<string>;
    protected _baseToolsOverride?: Record<string, AgentTool>;
    protected _sessionStartEvent: SessionStartEvent;
    protected _orchestrationContext?: OrchestrationContext;
    protected _extensionUIContext?: ExtensionUIContext;
    protected _extensionMode: ExtensionMode;
    protected _extensionCommandContextActions?: ExtensionCommandContextActions;
    protected _extensionShutdownHandler?: () => void;
    protected _extensionErrorListener?: ExtensionErrorListener;
    protected _extensionErrorUnsubscriber?: () => void;
    protected _modelRegistry: ModelRegistry;
    protected _toolRegistry: Map<string, AgentTool>;
    protected _toolDefinitions: Map<string, ToolDefinitionEntry>;
    protected _toolPromptSnippets: Map<string, string>;
    protected _toolPromptGuidelines: Map<string, string[]>;
    protected _baseSystemPrompt: string;
    protected _baseSystemPromptOptions: BuildSystemPromptOptions;
    protected _systemPromptOverride?: string;
    protected _lastAssistantMessage: AssistantMessage | undefined;
    protected _asyncJobManager: AsyncJobManager;
    protected _asyncJobManagerSessionId: symbol;
    constructor(config: AgentSessionConfig);
}
export interface AgentSession extends AgentSessionPublicSurface {
}
//# sourceMappingURL=agent-session.d.ts.map