import type { ExtensionContext } from "@earendil-works/pi-coding-agent"; import type { WorkerRolePreset } from "../workflow/worker-role-presets.js"; import type { LaunchPreviewDecision } from "../workflow/spawn-confirmation.js"; import type { ModelSpec, WorkerBudget, WorkerProposalEditableField, WorkerRequest } from "../workflow/workflow-types.js"; export interface LaunchPreviewRoleOption { readonly preset: WorkerRolePreset; readonly defaultModel: ModelSpec; } export interface LaunchPreviewModelOptions { readonly requests: readonly WorkerRequest[]; readonly roles: readonly LaunchPreviewRoleOption[]; readonly models: readonly ModelSpec[]; readonly difficultyModels: Readonly>; readonly normalizeModel?: (requestKey: string, roleName: string, model: ModelSpec) => ModelSpec; } export type BudgetDimension = keyof WorkerBudget; export declare class LaunchPreviewModel { #private; constructor(options: LaunchPreviewModelOptions); get count(): number; request(index: number): WorkerRequest; editedFields(index: number): readonly WorkerProposalEditableField[]; cycleRole(index: number, delta: -1 | 1): void; cycleModel(index: number, delta: -1 | 1): void; cycleDifficulty(index: number, delta: -1 | 1): void; replaceTask(index: number, goal: string): void; lowerBudget(index: number, dimension: BudgetDimension, value: number): void; accepted(): LaunchPreviewDecision; } export declare function openLaunchPreview(ctx: ExtensionContext, options: LaunchPreviewModelOptions): Promise; //# sourceMappingURL=launch-preview.d.ts.map