import { JsonRecord } from "../storage/types"; export type TaskStatus = "pending" | "resolved_ok" | "resolved_error" | "cancelled"; export interface RegisteredTaskDefinition { id: string; kind?: string; labels: string[]; description?: string; source?: string; inputSchema?: JsonRecord; outputSchema?: JsonRecord | false | null; } export interface RegistryEffectRecord { effectId: string; taskId: string; invocationKey: string; kind: string; label?: string; labels?: string[]; status: TaskStatus; taskDefRef: string; inputsRef?: string; resultRef?: string; stdoutRef?: string; stderrRef?: string; metadata?: JsonRecord; stepId?: string; requestedAt?: string; resolvedAt?: string; } export interface PendingFilter { kind?: string | string[]; labels?: string | string[]; } export declare class DuplicateTaskIdError extends Error { constructor(taskId: string); } export declare class TaskRegistry { private definitions; private effects; registerDefinition(record: RegisteredTaskDefinition): RegisteredTaskDefinition; recordDefinitionMetadata(taskId: string, metadata: Partial>): void; recordEffect(record: RegistryEffectRecord): RegistryEffectRecord; resolveEffect(effectId: string, update: Partial): RegistryEffectRecord | undefined; get(effectId: string): RegistryEffectRecord | undefined; listPending(filter?: PendingFilter): RegistryEffectRecord[]; listDefinitions(): RegisteredTaskDefinition[]; hasTask(taskId: string): boolean; clear(): void; private matchesKind; private matchesLabel; private extractMetadataLabels; } export declare const globalTaskRegistry: TaskRegistry; export declare function resetGlobalTaskRegistry(): void; //# sourceMappingURL=registry.d.ts.map