import type { AgentStorageApi } from "../../session/agent-storage.js"; import type { Extension } from "./types.js"; /** Discovered extension paths split by whether they must bind before the session is created. */ export interface StartupExtensionPartition { eager: string[]; deferred: string[]; } /** Whether a bound extension registered nothing that has to exist before the first frame. */ export declare function canBindAfterStartup(extension: Extension): boolean; /** * Split extension paths into those that must load before session creation and * those a recorded verdict for their current source proves safe to bind later. * Order within each list follows `paths`. */ export declare function partitionStartupExtensions(storage: AgentStorageApi, paths: readonly string[], cwd: string): Promise; /** * Record each freshly bound file-backed extension's startup verdict. Call right * after binding: registrations made later (session_start) never affect startup. */ export declare function recordStartupVerdicts(storage: AgentStorageApi, extensions: readonly Extension[]): Promise;