//#region src/core/event.d.ts declare const opaqueSymbol: unique symbol; type InferWorkflowEventData = T extends WorkflowEventData ? U : T extends WorkflowEvent ? U : never; type WorkflowEventData = { get data(): Data; } & { readonly [opaqueSymbol]: DebugLabel; }; type WorkflowEvent = { /** * This is the label used for debugging purposes. */ debugLabel?: DebugLabel; /** * This is the unique identifier for the event, which is used for sharing cross the network boundaries. */ readonly uniqueId: string; with(data: Data): WorkflowEventData; include(event: unknown): event is WorkflowEventData; } & { readonly [opaqueSymbol]: DebugLabel; }; type WorkflowEventConfig = { debugLabel?: DebugLabel; uniqueId?: string; }; declare const workflowEvent: (config?: WorkflowEventConfig) => WorkflowEvent; declare const isWorkflowEvent: (instance: unknown) => instance is WorkflowEvent; declare const isWorkflowEventData: (instance: unknown) => instance is WorkflowEventData; declare const eventSource: (instance: unknown) => WorkflowEvent | undefined; //#endregion //#region src/core/utils.d.ts type Subscribable = { subscribe: (callback: (...args: Args) => R) => () => void; publish: (...args: Args) => unknown[]; }; //#endregion //#region src/core/stream.d.ts declare class JsonEncodeTransform extends TransformStream, string> { constructor(); } declare class WorkflowStream extends ReadableStream implements AsyncIterable { #private; on(event: WorkflowEvent, handler: (event: WorkflowEventData) => void): () => void; constructor(subscribable: Subscribable<[R], void>, rootStream: ReadableStream); constructor(subscribable: Subscribable<[R], void>, rootStream: null); constructor(subscribable: null, rootStream: ReadableStream | null); static fromReadableStream(stream: ReadableStream>): WorkflowStream; static fromResponse(response: Response, eventMap: Record>): WorkflowStream>; toResponse(init?: ResponseInit, transformer?: JsonEncodeTransform): R extends WorkflowEventData ? Response : never; get locked(): boolean; [Symbol.asyncIterator](): ReadableStreamAsyncIterator; cancel(reason?: any): Promise; getReader(options: { mode: "byob"; }): ReadableStreamBYOBReader; getReader(): ReadableStreamDefaultReader; getReader(options?: ReadableStreamGetReaderOptions): ReadableStreamReader; pipeThrough(transform: ReadableWritablePair, options?: StreamPipeOptions): WorkflowStream; pipeTo(destination: WritableStream, options?: StreamPipeOptions): Promise; tee(): [WorkflowStream, WorkflowStream]; forEach(callback: (item: R) => void): Promise; map(callback: (item: R) => T): WorkflowStream; values(options?: ReadableStreamIteratorOptions): ReadableStreamAsyncIterator; take(limit: number): WorkflowStream; filter(predicate: R extends WorkflowEventData ? WorkflowEvent> : never): WorkflowStream; filter(predicate: R): WorkflowStream; filter(predicate: (event: R) => boolean): WorkflowStream; until(predicate: R extends WorkflowEventData ? WorkflowEvent> : never): WorkflowStream; until(predicate: (item: R) => boolean): WorkflowStream; until(item: R): WorkflowStream; toArray(): Promise; } //#endregion //#region src/core/context.d.ts type Handler[], Result extends WorkflowEventData | void> = (...event: { [K in keyof AcceptEvents]: ReturnType }) => Result | Promise; type BaseHandlerContext = { abortController: AbortController; handler: Handler[], any>; inputEvents: WorkflowEvent[]; inputs: WorkflowEventData[]; outputs: WorkflowEventData[]; prev: HandlerContext; next: Set; root: HandlerContext; }; type SyncHandlerContext = BaseHandlerContext & { async: false; pending: null; }; type AsyncHandlerContext = BaseHandlerContext & { async: true; pending: Promise | void> | null; }; type HandlerContext = AsyncHandlerContext | SyncHandlerContext; type WorkflowContext = { get stream(): WorkflowStream>; get signal(): AbortSignal; sendEvent: (...events: WorkflowEventData[]) => void; __internal__call_send_event: Subscribable<[event: WorkflowEventData, handlerContext: HandlerContext], void>; }; declare function getContext(): WorkflowContext; //#endregion //#region src/core/workflow.d.ts type Workflow = { handle[], Result extends ReturnType["with"]> | void>(accept: AcceptEvents, handler: Handler): void; createContext(): WorkflowContext; }; declare const createWorkflow: () => Workflow; //#endregion export { Handler, InferWorkflowEventData, Workflow, WorkflowContext, WorkflowEvent, WorkflowEventConfig, WorkflowEventData, WorkflowStream, createWorkflow, eventSource, getContext, isWorkflowEvent, isWorkflowEventData, workflowEvent }; //# sourceMappingURL=index.d.cts.map