export declare type ProducerResult = T | Promise | AsyncIterable; export interface ProducerFn { (this: T): ProducerResult; } export declare function produce(thisState: T, fn: ProducerFn): AsyncIterable; export declare function produceWithMutatingThis(fn: ProducerFn, initialThis?: T): AsyncIterable;