import { Pattern, Effect, TakeEffectDescriptor, ChannelTakeEffectDescriptor, PutEffectDescriptor, ChannelPutEffectDescriptor, AllEffectDescriptor, RaceEffectDescriptor, CallEffectDescriptor, ForkEffectDescriptor, JoinEffectDescriptor, CancelEffectDescriptor, SelectEffectDescriptor, ActionChannelEffectDescriptor, CancelledEffectDescriptor, FlushEffectDescriptor, GetContextEffectDescriptor, SetContextEffectDescriptor, } from "./effects"; import {Task, Channel, Buffer, SagaIterator} from "./index"; export const TASK: string; export const SAGA_ACTION: symbol; export function noop(): void; export type GuardPredicate = (arg: any) => arg is T; export const is: { undef: GuardPredicate; notUndef: GuardPredicate; func: GuardPredicate; number: GuardPredicate; string: GuardPredicate; array: GuardPredicate>; object: GuardPredicate; promise: GuardPredicate>; iterator: GuardPredicate>; iterable: GuardPredicate>; task: GuardPredicate; observable: GuardPredicate<{subscribe: Function}>; buffer: GuardPredicate>; pattern: GuardPredicate; channel: GuardPredicate>; helper: GuardPredicate; stringableFunc: GuardPredicate; }; interface Deferred { resolve(result: R): void; reject(error: any): void; promise: Promise; } export function deferred(props?: T): T & Deferred; export function arrayOfDeffered(length: number): Deferred[]; interface MockTask extends Task { setRunning(running: boolean): void; setResult(result: any): void; setError(error: any): void; } export function createMockTask(): MockTask; export const asEffect: { take(effect: Effect): undefined | TakeEffectDescriptor | ChannelTakeEffectDescriptor; put(effect: Effect): undefined | PutEffectDescriptor | ChannelPutEffectDescriptor; all(effect: Effect): undefined | AllEffectDescriptor; race(effect: Effect): undefined | RaceEffectDescriptor; call(effect: Effect): undefined | CallEffectDescriptor; cps(effect: Effect): undefined | CallEffectDescriptor; fork(effect: Effect): undefined | ForkEffectDescriptor; join(effect: Effect): undefined | JoinEffectDescriptor; cancel(effect: Effect): undefined | CancelEffectDescriptor; select(effect: Effect): undefined | SelectEffectDescriptor; actionChannel(effect: Effect): undefined | ActionChannelEffectDescriptor; cancelled(effect: Effect): undefined | CancelledEffectDescriptor; flush(effect: Effect): undefined | FlushEffectDescriptor; getContext(effect: Effect): undefined | GetContextEffectDescriptor; setContext(effect: Effect): undefined | SetContextEffectDescriptor; }; interface SagaIteratorClone extends SagaIterator { clone: () => SagaIteratorClone; } export function cloneableGenerator( iterator: () => SagaIterator ): () => SagaIteratorClone; export function cloneableGenerator( iterator: (arg1: T1) => SagaIterator ): (arg1: T1) => SagaIteratorClone; export function cloneableGenerator( iterator: (arg1: T1, arg2: T2) => SagaIterator ): (arg1: T1, arg2: T2) => SagaIteratorClone; export function cloneableGenerator( iterator: (arg1: T1, arg2: T2, arg3: T3) => SagaIterator ): (arg1: T1, arg2: T2, arg3: T3) => SagaIteratorClone; export function cloneableGenerator( iterator: (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => SagaIterator ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => SagaIteratorClone; export function cloneableGenerator( iterator: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => SagaIterator ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => SagaIteratorClone; export function cloneableGenerator( iterator: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6, arg7: any, ...rest: any[]) => SagaIterator ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6, ...rest: any[] ) => SagaIteratorClone;