import { type Logger } from "@logtape/logtape";
import { BackendPostgres } from "@sonamu-kit/tasks";
import { type RunnableWorkflow, type SchemaInput, type SchemaOutput, type StandardSchemaV1, type WorkflowRunHandle, type WorkflowSpec } from "@sonamu-kit/tasks/internal";
import { type Knex } from "knex";
import { type WorkflowMetadata } from "./decorator";
import { StepWrapper } from "./step-wrapper";
export interface WorkflowOptions {
concurrency?: number;
usePubSub?: boolean;
listenDelay?: number;
}
export type WorkflowFunction = (params: Readonly<{
logger: Logger;
input: Input;
step: StepWrapper;
version: string | null;
}>) => Promise