import type { InputType } from "@hatchet-dev/typescript-sdk"; import type { StandardSchemaV1 } from "@standard-schema/spec"; /** * Interface for classes that provide a schema for their input. */ export interface InputSchemaProvider { /** * Returns the schema for the input of the host. * If undefined, the input is not validated. */ inputSchema: () => StandardSchemaV1 | undefined; } /** * Marker class for Hatchet workflow host classes. */ export declare abstract class WorkflowHost implements InputSchemaProvider { readonly inputSchema: InputSchemaProvider["inputSchema"]; readonly __workflow_host_brand: void; readonly __workflow_host_input: I; /** * Constructor for the WorkflowHost class. * * @param inputSchema * @protected */ protected constructor(inputSchema: InputSchemaProvider["inputSchema"]); } /** * Marker class for Hatchet task host classes. */ export declare abstract class TaskHost implements InputSchemaProvider { readonly inputSchema: InputSchemaProvider["inputSchema"]; readonly __task_host_brand: void; readonly __task_host_input: I; /** * Constructor for the TaskHost class. * * @param inputSchema * @protected */ protected constructor(inputSchema: InputSchemaProvider["inputSchema"]); } /** * Creates a new WorkflowHost class with the provided input schema. * * @param input The input schema. */ export declare function workflowHost(input?: ReturnType["inputSchema"]>): { new (): { readonly __workflow_host_brand: void; readonly __workflow_host_input: I; readonly inputSchema: () => StandardSchemaV1 | undefined; }; }; /** * Creates a new TaskHost class with the provided input schema. * * @param input The input schema. */ export declare function taskHost(input?: ReturnType["inputSchema"]>): { new (): { readonly __task_host_brand: void; readonly __task_host_input: I; readonly inputSchema: () => StandardSchemaV1 | undefined; }; };