export declare const TASKS_CONFIG_PATH = ".pi-webui/tasks.json"; export declare const WORKSPACE_TASKS_CONFIG_VERSION = 1; export declare const WORKSPACE_TASKS_CATALOG_MAX_BYTES: number; export type WorkspaceTaskScope = "global" | "workspace"; export interface WorkspaceTaskRef { scope: WorkspaceTaskScope; id: string; } export interface WorkspaceTask { id: string; title: string; command: string; description?: string; group?: string; confirm: boolean; } export interface WorkspaceTasksConfig { version: typeof WORKSPACE_TASKS_CONFIG_VERSION; tasks: WorkspaceTask[]; } export type ParseWorkspaceTasksConfigResult = { ok: true; config: WorkspaceTasksConfig; } | { ok: false; error: string; }; export declare function parseWorkspaceTasksConfig(value: unknown): ParseWorkspaceTasksConfigResult; export declare function parseWorkspaceTasksConfigText(text: string): ParseWorkspaceTasksConfigResult; export declare function serializeWorkspaceTasksConfig(config: WorkspaceTasksConfig): string; export declare function workspaceTasksCanonicalByteLength(config: WorkspaceTasksConfig): number; export declare function assertWorkspaceTasksCatalogSize(config: WorkspaceTasksConfig): void; export declare function isWorkspaceTaskId(value: string): boolean; export declare function workspaceTaskRefKey(ref: WorkspaceTaskRef): string; export declare function parseWorkspaceTaskRefKey(key: string): WorkspaceTaskRef; export declare function workspaceTaskGroupKey(scope: WorkspaceTaskScope, group: string): string; export declare function appendWorkspaceTask(config: WorkspaceTasksConfig, task: WorkspaceTask): WorkspaceTasksConfig; export declare function replaceWorkspaceTaskAt(config: WorkspaceTasksConfig, index: number, task: WorkspaceTask): WorkspaceTasksConfig; export declare function removeWorkspaceTaskAt(config: WorkspaceTasksConfig, index: number): WorkspaceTasksConfig; export declare function deriveWorkspaceTaskMove(input: { source: { ref: WorkspaceTaskRef; config: WorkspaceTasksConfig; }; destination: { scope: WorkspaceTaskScope; config: WorkspaceTasksConfig; task: WorkspaceTask; }; }): { sourceAfter: WorkspaceTasksConfig; destinationAfter: WorkspaceTasksConfig; };