export type GeneratorCompletion = { type: "normal" | "return" | "throw"; value: unknown; }; export type GeneratorChannel = { next(value?: unknown): Promise>; return(value?: unknown): Promise>; throw(error?: unknown): Promise>; snapshot(): GeneratorChannelSnapshot; }; export type GeneratorChannelSnapshot = { yieldNodeId?: number; sent: GeneratorCompletion[]; }; export declare function createGeneratorChannel(body: (yieldValue: (value?: unknown, yieldNodeId?: number) => Promise) => Promise): GeneratorChannel; export declare function restoreGeneratorChannel(body: Parameters[0], snapshot: GeneratorChannelSnapshot): GeneratorChannel;