import type { ActiveModelPackRecord, ModelPacksStorage } from '../storage/domains/model-packs/base.js'; import type { SourceControlStorageHandle } from '../storage/domains/source-control/base.js'; import type { WorkItemsStorage } from '../storage/domains/work-items/base.js'; export interface ModelPackApplicableSession { mode: { get(): string; }; model: { switch(args: { modelId: string; }): Promise; }; subagents: { model: { set(args: { modelId: string; agentType: string; }): Promise; }; }; thread: { getSetting?(args: { key: string; }): Promise; setSetting(args: { key: string; value: unknown; }): Promise; }; } export interface ModelPackHydrationSession extends ModelPackApplicableSession { readonly identity: { getResourceId(): string; }; state: { get(): Record | undefined; }; thread: ModelPackApplicableSession['thread'] & { getId(): string | null | undefined; getSetting(args: { key: string; }): Promise; }; } export declare function applyActiveModelPack(session: ModelPackApplicableSession, activePack: Pick): Promise; export interface ModelPackHydrationDependencies { sourceControl: { sessions: Pick; }; workItems: Pick; modelPacks: Pick; } /** Seed the user's default pack unless the interactive thread already selected its own pack. */ export declare function hydrateSessionModelPack(session: ModelPackHydrationSession, { sourceControl, workItems, modelPacks }: ModelPackHydrationDependencies): Promise; //# sourceMappingURL=model-pack-hydration.d.ts.map