import { Effect } from 'effect'; import type * as SchemaTypes from 'effect/Schema'; import { WorkflowInputValidationError, WorkflowOutputValidationError } from './errors'; import type { WorkflowIR, WorkflowSource } from './ir'; /** Transport-neutral public metadata for one registered workflow. */ export interface WorkflowDescriptor { readonly id: string; readonly source: WorkflowSource; readonly input: SchemaTypes.Schema.AnyNoContext; readonly output: SchemaTypes.Schema.AnyNoContext; } /** Legacy workflows accept strings and place no constraint on their output. */ export declare const workflowInputSchema: (workflow: WorkflowIR) => SchemaTypes.Schema.AnyNoContext; export declare const workflowOutputSchema: (workflow: WorkflowIR) => SchemaTypes.Schema.AnyNoContext; /** Copy only safe discovery data; executable nodes and mutable IR collections stay private. */ export declare const describeWorkflow: (workflow: WorkflowIR) => WorkflowDescriptor; export declare const decodeWorkflowInput: (workflow: WorkflowIR, input: unknown) => Effect.Effect; export declare const validateWorkflowOutput: (workflow: WorkflowIR, output: unknown) => Effect.Effect; //# sourceMappingURL=contracts.d.ts.map