UNPKG

react-native-template-allmax

Version:

React native template with navigation, redux, redux-saga, eslit, flow, reactotron

2,498 lines (2,433 loc) 49.6 kB
// flow-typed signature: 9d3c87aee21c008e41dd895c5fb6cfde // flow-typed version: aba9864a3d/redux-saga_v0.16.x/flow_>=v0.56.0 // @flow declare module "redux-saga" { import typeof * as _effects from "redux-saga/effects"; declare export var effects: _effects; declare export interface Channel { take: (cb: (msg: mixed) => void) => void; put: (msg: mixed) => void; flush: (cb: (msgs: mixed) => void) => void; close: () => void; } declare export interface Task<T> { isRunning: () => boolean; isCancelled: () => boolean; result: () => T | void; error: () => Error | void; cancel: () => void; done: Promise<T>; } declare export interface Buffer { isEmpty: () => boolean; put: (msg: mixed) => void; take(): mixed; } declare export interface SagaMonitor { effectTriggered: (options: { +effectId: number, +parentEffectId: number, +label: string, +effect: Effect }) => void; effectResolved: (effectId: number, result: mixed) => void; effectRejected: (effectId: number, error: Error) => void; effectCancelled: (effectId: number) => void; actionDispatched: (action: mixed) => void; } declare export type Saga<T> = Generator<Effect, T, any>; declare export var eventChannel: ( sub: (emit: (msg: any) => void) => () => void, buffer?: Buffer, matcher?: (msg: mixed) => boolean ) => Channel; declare export var buffers: { +none: () => Buffer, +fixed: (limit?: number) => Buffer, +dropping: (limit?: number) => Buffer, +sliding: (limit?: number) => Buffer, +expanding: (initialSize?: number) => Buffer }; declare export var channel: (buffer?: Buffer) => Channel; declare export var END: { +type: "@@redux-saga/CHANNEL_END" }; declare export var CANCEL: Symbol; declare export var delay: (timeout: number, val?: any) => Promise<any>; declare type RunSagaOptions = { +subscribe?: (emit: (input: any) => any) => () => void, +dispatch?: (output: any) => any, +getState?: () => any, +sagaMonitor?: SagaMonitor, +logger?: ( level: "info" | "warning" | "error", ...args: Array<any> ) => void, +onError?: (error: Error) => void }; declare export var runSaga: { <R, Fn: () => Saga<R>>(options: RunSagaOptions, saga: Fn): Task<R>, <R, T1, Fn: (t1: T1) => Saga<R>>( options: RunSagaOptions, saga: Fn, t1: T1 ): Task<R>, <R, T1, T2, Fn: (t1: T1, t2: T2) => Saga<R>>( options: RunSagaOptions, saga: Fn, t1: T1, t2: T2 ): Task<R>, <R, T1, T2, T3, Fn: (t1: T1, t2: T2, t3: T3) => Saga<R>>( options: RunSagaOptions, saga: Fn, t1: T1, t2: T2, t3: T3 ): Task<R>, <R, T1, T2, T3, T4, Fn: (t1: T1, t2: T2, t3: T3, t4: T4) => Saga<R>>( options: RunSagaOptions, saga: Fn, t1: T1, t2: T2, t3: T3, t4: T4 ): Task<R>, < R, T1, T2, T3, T4, T5, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => Saga<R> >( options: RunSagaOptions, saga: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5 ): Task<R>, < R, T1, T2, T3, T4, T5, T6, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6) => Saga<R> >( options: RunSagaOptions, saga: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6 ): Task<R>, < R, T1, T2, T3, T4, T5, T6, T7, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7) => Saga<R> >( options: RunSagaOptions, saga: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7 ): Task<R>, < R, T1, T2, T3, T4, T5, T6, T7, T8, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8) => Saga<R> >( options: RunSagaOptions, saga: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8 ): Task<R> }; declare interface SagaMiddleware { // TODO: This should be aligned with the official redux typings sometime (api: any): (next: any) => any; run: { <R, Fn: () => Saga<R>>(saga: Fn): Task<R>, <R, T1, Fn: (t1: T1) => Saga<R>>(saga: Fn, t1: T1): Task<R>, <R, T1, T2, Fn: (t1: T1, t2: T2) => Saga<R>>( saga: Fn, t1: T1, t2: T2 ): Task<R>, <R, T1, T2, T3, Fn: (t1: T1, t2: T2, t3: T3) => Saga<R>>( saga: Fn, t1: T1, t2: T2, t3: T3 ): Task<R>, <R, T1, T2, T3, T4, Fn: (t1: T1, t2: T2, t3: T3, t4: T4) => Saga<R>>( saga: Fn, t1: T1, t2: T2, t3: T3, t4: T4 ): Task<R>, < R, T1, T2, T3, T4, T5, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => Saga<R> >( saga: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5 ): Task<R>, < R, T1, T2, T3, T4, T5, T6, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6) => Saga<R> >( saga: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6 ): Task<R>, < R, T1, T2, T3, T4, T5, T6, T7, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7) => Saga<R> >( saga: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7 ): Task<R>, < R, T1, T2, T3, T4, T5, T6, T7, T8, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8) => Saga<R> >( saga: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8 ): Task<R> }; } declare type createSagaMiddleware = (options?: { +sagaMonitor?: SagaMonitor, +logger?: ( level: "info" | "warning" | "error", ...args: Array<any> ) => void, +onError?: (error: Error) => void }) => SagaMiddleware; declare export default createSagaMiddleware // Effect types declare export type PatternPart = string | (any => boolean); declare export type Pattern = PatternPart | $ReadOnlyArray<PatternPart>; declare export type TakeEffect< P: Pattern | void, C: Channel | void, M: true | void > = { +"@@redux-saga/IO": true, +TAKE: { +pattern: P, +channel: C, +maybe: M } }; declare export type PutEffect<A: Object, C: Channel | null> = { +"@@redux-saga/IO": true, +PUT: { +action: A, +channel: C } }; declare export type CallEffect<Ctx, Fn: Function, Args: $ReadOnlyArray<*>> = { +"@@redux-saga/IO": true, +CALL: { +context: Ctx, +fn: Fn, +args: Args } }; declare export type ForkEffect<Ctx, Fn: Function, Args: $ReadOnlyArray<*>> = { +"@@redux-saga/IO": true, +FORK: { +context: Ctx, +fn: Fn, +args: Args } }; declare export type CpsEffect<Ctx, Fn: Function, Args: $ReadOnlyArray<*>> = { +"@@redux-saga/IO": true, +CPS: { +context: Ctx, +fn: Fn, +args: Args } }; declare export type SpawnEffect< Ctx, Fn: Function, Args: $ReadOnlyArray<*> > = { +"@@redux-saga/IO": true, +SPAWN: { +context: Ctx, +fn: Fn, +args: Args } }; declare export type JoinEffect<T: Task<*>> = { +"@@redux-saga/IO": true, +JOIN: T }; declare export type CancelEffect< T: Task<*> | "@@redux-saga/SELF_CANCELLATION" > = { +"@@redux-saga/IO": true, +CANCEL: T }; declare export type SelectEffect<Fn: Function | void, Args: $ReadOnlyArray<*>> = { +"@@redux-saga/IO": true, +SELECT: { +selector: Fn, +args: Args } }; declare export type ActionChannelEffect<P: Pattern, B: Buffer | void> = { +"@@redux-saga/IO": true, +ACTION_CHANNEL: { +buffer: B, +pattern: P } }; declare export type FlushEffect = { +"@@redux-saga/IO": true, +FLUSH: Channel }; declare export type CancelledEffect = { +"@@redux-saga/IO": true, +CANCELLED: {} }; declare export type SetContextEffect<T: {}> = { +"@@redux-saga/IO": true, +SET_CONTEXT: T }; declare export type GetContextEffect = { +"@@redux-saga/IO": true, +GET_CONTEXT: string }; declare export type RaceEffect< R: { +[name: string]: Effect } | $ReadOnlyArray<Effect> > = { +"@@redux-saga/IO": true, +RACE: R }; declare export type AllEffect = { +"@@redux-saga/IO": true, +ALL: { +[name: string]: Effect } | $ReadOnlyArray<Effect> }; declare export type Effect = | TakeEffect<*, *, *> | PutEffect<*, *> | CallEffect<*, *, *> | ForkEffect<*, *, *> | CpsEffect<*, *, *> | SpawnEffect<*, *, *> | JoinEffect<*> | CancelEffect<*> | SelectEffect<*, *> | ActionChannelEffect<*, *> | FlushEffect | CancelledEffect | SetContextEffect<*> | GetContextEffect | RaceEffect<*> | AllEffect; } declare module "redux-saga/effects" { import type { ActionChannelEffect, AllEffect, Buffer, CallEffect, CancelEffect, CancelledEffect, Channel, CpsEffect, Effect, FlushEffect, ForkEffect, GetContextEffect, JoinEffect, Pattern, PutEffect, RaceEffect, Saga, SelectEffect, SetContextEffect, SpawnEffect, TakeEffect, Task } from "redux-saga"; declare export var take: { <P: Pattern>(pattern: P): TakeEffect<P, void, void>, (channel: Channel): TakeEffect<void, Channel, void>, +maybe: { <P: Pattern>(pattern: P): TakeEffect<P, void, true>, (channel: Channel): TakeEffect<void, Channel, true> } }; declare export var put: { <A: Object>(action: A): PutEffect<A, null>, <A: Object>(channel: Channel, action: A): PutEffect<A, Channel>, resolve: { <A: Object>(action: A): PutEffect<A, null>, <A: Object>(channel: Channel, action: A): PutEffect<A, Channel>, } }; declare export var call: { // normal calls <R, Fn: () => R>(fn: Fn): CallEffect<null, Fn, []>, <R, T1, Fn: (t1: T1) => R>(fn: Fn, t1: T1): CallEffect<null, Fn, [T1]>, <R, T1, T2, Fn: (t1: T1, t2: T2) => R>( fn: Fn, t1: T1, t2: T2 ): CallEffect<null, Fn, [T1, T2]>, <R, T1, T2, T3, Fn: (t1: T1, t2: T2, t3: T3) => R>( fn: Fn, t1: T1, t2: T2, t3: T3 ): CallEffect<null, Fn, [T1, T2, T3]>, <R, T1, T2, T3, T4, Fn: (t1: T1, t2: T2, t3: T3, t4: T4) => R>( fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4 ): CallEffect<null, Fn, [T1, T2, T3, T4]>, <R, T1, T2, T3, T4, T5, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R>( fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5 ): CallEffect<null, Fn, [T1, T2, T3, T4, T5]>, < R, T1, T2, T3, T4, T5, T6, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6) => R >( fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6 ): CallEffect<null, Fn, [T1, T2, T3, T4, T5, T6]>, < R, T1, T2, T3, T4, T5, T6, T7, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7) => R >( fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7 ): CallEffect<null, Fn, [T1, T2, T3, T4, T5, T6, T7]>, < R, T1, T2, T3, T4, T5, T6, T7, T8, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8) => R >( fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8 ): CallEffect<null, Fn, [T1, T2, T3, T4, T5, T6, T7, T8]>, // with context <Ctx, R, Fn: () => R>(cfn: [Ctx, Fn]): CallEffect<Ctx, Fn, []>, <Ctx, R, T1, Fn: (t1: T1) => R>( cfn: [Ctx, Fn], t1: T1 ): CallEffect<Ctx, Fn, [T1]>, <Ctx, R, T1, T2, Fn: (t1: T1, t2: T2) => R>( cfn: [Ctx, Fn], t1: T1, t2: T2 ): CallEffect<Ctx, Fn, [T1, T2]>, <Ctx, R, T1, T2, T3, Fn: (t1: T1, t2: T2, t3: T3) => R>( cfn: [Ctx, Fn], t1: T1, t2: T2, t3: T3 ): CallEffect<Ctx, Fn, [T1, T2, T3]>, <Ctx, R, T1, T2, T3, T4, Fn: (t1: T1, t2: T2, t3: T3, t4: T4) => R>( cfn: [Ctx, Fn], t1: T1, t2: T2, t3: T3, t4: T4 ): CallEffect<Ctx, Fn, [T1, T2, T3, T4]>, < Ctx, R, T1, T2, T3, T4, T5, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R >( cfn: [Ctx, Fn], t1: T1, t2: T2, t3: T3, t4: T4, t5: T5 ): CallEffect<Ctx, Fn, [T1, T2, T3, T4, T5]>, < Ctx, R, T1, T2, T3, T4, T5, T6, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6) => R >( cfn: [Ctx, Fn], t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6 ): CallEffect<Ctx, Fn, [T1, T2, T3, T4, T5, T6]>, < Ctx, R, T1, T2, T3, T4, T5, T6, T7, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7) => R >( cfn: [Ctx, Fn], t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7 ): CallEffect<Ctx, Fn, [T1, T2, T3, T4, T5, T6, T7]>, < Ctx, R, T1, T2, T3, T4, T5, T6, T7, T8, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8) => R >( cfn: [Ctx, Fn], t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8 ): CallEffect<Ctx, Fn, [T1, T2, T3, T4, T5, T6, T7, T8]> }; declare export var apply: { <Ctx, R, Fn: () => R>(ctx: Ctx, fn: Fn): CallEffect<Ctx, Fn, []>, <Ctx, R, T1, Fn: (t1: T1) => R>( ctx: Ctx, fn: Fn, t1: T1 ): CallEffect<Ctx, Fn, [T1]>, <Ctx, R, T1, T2, Fn: (t1: T1, t2: T2) => R>( ctx: Ctx, fn: Fn, t1: T1, t2: T2 ): CallEffect<Ctx, Fn, [T1, T2]>, <Ctx, R, T1, T2, T3, Fn: (t1: T1, t2: T2, t3: T3) => R>( ctx: Ctx, fn: Fn, t1: T1, t2: T2, t3: T3 ): CallEffect<Ctx, Fn, [T1, T2, T3]>, <Ctx, R, T1, T2, T3, T4, Fn: (t1: T1, t2: T2, t3: T3, t4: T4) => R>( ctx: Ctx, fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4 ): CallEffect<Ctx, Fn, [T1, T2, T3, T4]>, < Ctx, R, T1, T2, T3, T4, T5, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R >( ctx: Ctx, fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5 ): CallEffect<Ctx, Fn, [T1, T2, T3, T4, T5]>, < Ctx, R, T1, T2, T3, T4, T5, T6, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6) => R >( ctx: Ctx, fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6 ): CallEffect<Ctx, Fn, [T1, T2, T3, T4, T5, T6]>, < Ctx, R, T1, T2, T3, T4, T5, T6, T7, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7) => R >( ctx: Ctx, fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7 ): CallEffect<Ctx, Fn, [T1, T2, T3, T4, T5, T6, T7]>, < Ctx, R, T1, T2, T3, T4, T5, T6, T7, T8, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8) => R >( ctx: Ctx, fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8 ): CallEffect<Ctx, Fn, [T1, T2, T3, T4, T5, T6, T7, T8]> }; declare type NodeCallback<R> = { (err: Error): void, (err: null | void | false, result: R): void }; declare export var cps: { // normal calls <R, Fn: (cb: NodeCallback<R>) => void>(fn: Fn): CpsEffect<null, Fn, []>, <R, T1, Fn: (t1: T1, cb: NodeCallback<R>) => void>( fn: Fn, t1: T1 ): CpsEffect<null, Fn, [T1]>, <R, T1, T2, Fn: (t1: T1, t2: T2, cb: NodeCallback<R>) => void>( fn: Fn, t1: T1, t2: T2 ): CpsEffect<null, Fn, [T1, T2]>, <R, T1, T2, T3, Fn: (t1: T1, t2: T2, t3: T3, cb: NodeCallback<R>) => void>( fn: Fn, t1: T1, t2: T2, t3: T3 ): CpsEffect<null, Fn, [T1, T2, T3]>, < R, T1, T2, T3, T4, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, cb: NodeCallback<R>) => void >( fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4 ): CpsEffect<null, Fn, [T1, T2, T3, T4]>, < R, T1, T2, T3, T4, T5, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, cb: NodeCallback<R>) => void >( fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5 ): CpsEffect<null, Fn, [T1, T2, T3, T4, T5]>, < R, T1, T2, T3, T4, T5, T6, Fn: ( t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, cb: NodeCallback<R> ) => void >( fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6 ): CpsEffect<null, Fn, [T1, T2, T3, T4, T5, T6]>, < R, T1, T2, T3, T4, T5, T6, T7, Fn: ( t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, cb: NodeCallback<R> ) => void >( fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7 ): CpsEffect<null, Fn, [T1, T2, T3, T4, T5, T6, T7]>, < R, T1, T2, T3, T4, T5, T6, T7, T8, Fn: ( t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8, cb: NodeCallback<R> ) => void >( fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8 ): CpsEffect<null, Fn, [T1, T2, T3, T4, T5, T6, T7, T8]>, // with context <Ctx, R, Fn: (cb: NodeCallback<R>) => void>( cfn: [Ctx, Fn] ): CpsEffect<Ctx, Fn, []>, <Ctx, R, T1, Fn: (t1: T1, cb: NodeCallback<R>) => void>( cfn: [Ctx, Fn], t1: T1 ): CpsEffect<Ctx, Fn, [T1]>, <Ctx, R, T1, T2, Fn: (t1: T1, t2: T2, cb: NodeCallback<R>) => void>( cfn: [Ctx, Fn], t1: T1, t2: T2 ): CpsEffect<Ctx, Fn, [T1, T2]>, < Ctx, R, T1, T2, T3, Fn: (t1: T1, t2: T2, t3: T3, cb: NodeCallback<R>) => void >( cfn: [Ctx, Fn], t1: T1, t2: T2, t3: T3 ): CpsEffect<Ctx, Fn, [T1, T2, T3]>, < Ctx, R, T1, T2, T3, T4, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, cb: NodeCallback<R>) => void >( cfn: [Ctx, Fn], t1: T1, t2: T2, t3: T3, t4: T4 ): CpsEffect<Ctx, Fn, [T1, T2, T3, T4]>, < Ctx, R, T1, T2, T3, T4, T5, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, cb: NodeCallback<R>) => void >( cfn: [Ctx, Fn], t1: T1, t2: T2, t3: T3, t4: T4, t5: T5 ): CpsEffect<Ctx, Fn, [T1, T2, T3, T4, T5]>, < Ctx, R, T1, T2, T3, T4, T5, T6, Fn: ( t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, cb: NodeCallback<R> ) => void >( cfn: [Ctx, Fn], t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6 ): CpsEffect<Ctx, Fn, [T1, T2, T3, T4, T5, T6]>, < Ctx, R, T1, T2, T3, T4, T5, T6, T7, Fn: ( t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, cb: NodeCallback<R> ) => void >( cfn: [Ctx, Fn], t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7 ): CpsEffect<Ctx, Fn, [T1, T2, T3, T4, T5, T6, T7]>, < Ctx, R, T1, T2, T3, T4, T5, T6, T7, T8, Fn: ( t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8, cb: NodeCallback<R> ) => void >( cfn: [Ctx, Fn], t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8 ): CpsEffect<Ctx, Fn, [T1, T2, T3, T4, T5, T6, T7, T8]> }; declare export var fork: { // normal calls <R, Fn: () => R>(fn: Fn): ForkEffect<null, Fn, []>, <R, T1, Fn: (t1: T1) => R>(fn: Fn, t1: T1): ForkEffect<null, Fn, [T1]>, <R, T1, T2, Fn: (t1: T1, t2: T2) => R>( fn: Fn, t1: T1, t2: T2 ): ForkEffect<null, Fn, [T1, T2]>, <R, T1, T2, T3, Fn: (t1: T1, t2: T2, t3: T3) => R>( fn: Fn, t1: T1, t2: T2, t3: T3 ): ForkEffect<null, Fn, [T1, T2, T3]>, <R, T1, T2, T3, T4, Fn: (t1: T1, t2: T2, t3: T3, t4: T4) => R>( fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4 ): ForkEffect<null, Fn, [T1, T2, T3, T4]>, <R, T1, T2, T3, T4, T5, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R>( fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5 ): ForkEffect<null, Fn, [T1, T2, T3, T4, T5]>, < R, T1, T2, T3, T4, T5, T6, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6) => R >( fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6 ): ForkEffect<null, Fn, [T1, T2, T3, T4, T5, T6]>, < R, T1, T2, T3, T4, T5, T6, T7, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7) => R >( fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7 ): ForkEffect<null, Fn, [T1, T2, T3, T4, T5, T6, T7]>, < R, T1, T2, T3, T4, T5, T6, T7, T8, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8) => R >( fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8 ): ForkEffect<null, Fn, [T1, T2, T3, T4, T5, T6, T7, T8]>, // with context <Ctx, R, Fn: () => R>(cfn: [Ctx, Fn]): ForkEffect<Ctx, Fn, []>, <Ctx, R, T1, Fn: (t1: T1) => R>( cfn: [Ctx, Fn], t1: T1 ): ForkEffect<Ctx, Fn, [T1]>, <Ctx, R, T1, T2, Fn: (t1: T1, t2: T2) => R>( cfn: [Ctx, Fn], t1: T1, t2: T2 ): ForkEffect<Ctx, Fn, [T1, T2]>, <Ctx, R, T1, T2, T3, Fn: (t1: T1, t2: T2, t3: T3) => R>( cfn: [Ctx, Fn], t1: T1, t2: T2, t3: T3 ): ForkEffect<Ctx, Fn, [T1, T2, T3]>, <Ctx, R, T1, T2, T3, T4, Fn: (t1: T1, t2: T2, t3: T3, t4: T4) => R>( cfn: [Ctx, Fn], t1: T1, t2: T2, t3: T3, t4: T4 ): ForkEffect<Ctx, Fn, [T1, T2, T3, T4]>, < Ctx, R, T1, T2, T3, T4, T5, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R >( cfn: [Ctx, Fn], t1: T1, t2: T2, t3: T3, t4: T4, t5: T5 ): ForkEffect<Ctx, Fn, [T1, T2, T3, T4, T5]>, < Ctx, R, T1, T2, T3, T4, T5, T6, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6) => R >( cfn: [Ctx, Fn], t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6 ): ForkEffect<Ctx, Fn, [T1, T2, T3, T4, T5, T6]>, < Ctx, R, T1, T2, T3, T4, T5, T6, T7, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7) => R >( cfn: [Ctx, Fn], t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7 ): ForkEffect<Ctx, Fn, [T1, T2, T3, T4, T5, T6, T7]>, < Ctx, R, T1, T2, T3, T4, T5, T6, T7, T8, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8) => R >( cfn: [Ctx, Fn], t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8 ): ForkEffect<Ctx, Fn, [T1, T2, T3, T4, T5, T6, T7, T8]> }; declare export var spawn: { // normal calls <R, Fn: () => R>(fn: Fn): SpawnEffect<null, Fn, []>, <R, T1, Fn: (t1: T1) => R>(fn: Fn, t1: T1): SpawnEffect<null, Fn, [T1]>, <R, T1, T2, Fn: (t1: T1, t2: T2) => R>( fn: Fn, t1: T1, t2: T2 ): SpawnEffect<null, Fn, [T1, T2]>, <R, T1, T2, T3, Fn: (t1: T1, t2: T2, t3: T3) => R>( fn: Fn, t1: T1, t2: T2, t3: T3 ): SpawnEffect<null, Fn, [T1, T2, T3]>, <R, T1, T2, T3, T4, Fn: (t1: T1, t2: T2, t3: T3, t4: T4) => R>( fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4 ): SpawnEffect<null, Fn, [T1, T2, T3, T4]>, <R, T1, T2, T3, T4, T5, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R>( fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5 ): SpawnEffect<null, Fn, [T1, T2, T3, T4, T5]>, < R, T1, T2, T3, T4, T5, T6, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6) => R >( fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6 ): SpawnEffect<null, Fn, [T1, T2, T3, T4, T5, T6]>, < R, T1, T2, T3, T4, T5, T6, T7, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7) => R >( fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, ): SpawnEffect<null, Fn, [T1, T2, T3, T4, T5, T6, T7]>, < R, T1, T2, T3, T4, T5, T6, T7, T8, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8) => R >( fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8 ): SpawnEffect<null, Fn, [T1, T2, T3, T4, T5, T6, T7, T8]>, // with context <Ctx, R, Fn: () => R>(cfn: [Ctx, Fn]): SpawnEffect<Ctx, Fn, []>, <Ctx, R, T1, Fn: (t1: T1) => R>( cfn: [Ctx, Fn], t1: T1 ): SpawnEffect<Ctx, Fn, [T1]>, <Ctx, R, T1, T2, Fn: (t1: T1, t2: T2) => R>( cfn: [Ctx, Fn], t1: T1, t2: T2 ): SpawnEffect<Ctx, Fn, [T1, T2]>, <Ctx, R, T1, T2, T3, Fn: (t1: T1, t2: T2, t3: T3) => R>( cfn: [Ctx, Fn], t1: T1, t2: T2, t3: T3 ): SpawnEffect<Ctx, Fn, [T1, T2, T3]>, <Ctx, R, T1, T2, T3, T4, Fn: (t1: T1, t2: T2, t3: T3, t4: T4) => R>( cfn: [Ctx, Fn], t1: T1, t2: T2, t3: T3, t4: T4 ): SpawnEffect<Ctx, Fn, [T1, T2, T3, T4]>, < Ctx, R, T1, T2, T3, T4, T5, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R >( cfn: [Ctx, Fn], t1: T1, t2: T2, t3: T3, t4: T4, t5: T5 ): SpawnEffect<Ctx, Fn, [T1, T2, T3, T4, T5]>, < Ctx, R, T1, T2, T3, T4, T5, T6, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6) => R >( cfn: [Ctx, Fn], t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6 ): SpawnEffect<Ctx, Fn, [T1, T2, T3, T4, T5, T6]>, < Ctx, R, T1, T2, T3, T4, T5, T6, T7, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7) => R >( cfn: [Ctx, Fn], t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7 ): SpawnEffect<Ctx, Fn, [T1, T2, T3, T4, T5, T6, T7]>, < Ctx, R, T1, T2, T3, T4, T5, T6, T7, T8, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8) => R >( cfn: [Ctx, Fn], t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8 ): SpawnEffect<Ctx, Fn, [T1, T2, T3, T4, T5, T6, T7, T8]> }; declare export var join: { <T: Task<*>>(task: T): JoinEffect<T>, (task: Task<*>, ...tasks: $ReadOnlyArray<Task<any>>): AllEffect }; declare export var cancel: { (): CancelEffect<"@@redux-saga/SELF_CANCELLATION">, <T: Task<*>>(task: T): CancelEffect<T>, (task: Task<*>, ...tasks: $ReadOnlyArray<Task<any>>): AllEffect }; declare export var select: { (): SelectEffect<void, []>, <S, R, Fn: (state: S) => R>(fn: Fn): SelectEffect<Fn, []>, <S, R, T1, Fn: (state: S, t1: T1) => R>( fn: Fn, t1: T1 ): SelectEffect<Fn, [T1]>, <S, R, T1, T2, Fn: (state: S, t1: T1, t2: T2) => R>( fn: Fn, t1: T1, t2: T2 ): SelectEffect<Fn, [T1, T2]>, <S, R, T1, T2, T3, Fn: (state: S, t1: T1, t2: T2, t3: T3) => R>( fn: Fn, t1: T1, t2: T2, t3: T3 ): SelectEffect<Fn, [T1, T2, T3]>, <S, R, T1, T2, T3, T4, Fn: (state: S, t1: T1, t2: T2, t3: T3, t4: T4) => R>( fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4 ): SelectEffect<Fn, [T1, T2, T3, T4]>, < S, R, T1, T2, T3, T4, T5, Fn: (state: S, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R >( fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5 ): SelectEffect<Fn, [T1, T2, T3, T4, T5]>, < S, R, T1, T2, T3, T4, T5, T6, Fn: (state: S, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6) => R >( fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6 ): SelectEffect<Fn, [T1, T2, T3, T4, T5, T6]>, < S, R, T1, T2, T3, T4, T5, T6, T7, Fn: (state: S, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7) => R >( fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7 ): SelectEffect<Fn, [T1, T2, T3, T4, T5, T6, T7]>, < S, R, T1, T2, T3, T4, T5, T6, T7, T8, Fn: (state: S, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8) => R >( fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8 ): SelectEffect<Fn, [T1, T2, T3, T4, T5, T6, T7, T8]> }; declare export var actionChannel: { <P: Pattern>(pattern: P): ActionChannelEffect<P, void>, <P: Pattern, B: Buffer>(pattern: P, buffer: B): ActionChannelEffect<P, B> }; declare export var flush: { (channel: Channel): FlushEffect }; declare export var cancelled: { (): CancelledEffect }; declare export var setContext: { <T>(ctx: T): SetContextEffect<T> }; declare export var getContext: { (prop: string): GetContextEffect }; declare export var race: { <R: { +[name: string]: Effect } | $ReadOnlyArray<Effect>>( effects: R ): RaceEffect<R> }; declare export var all: { (effects: { +[name: string]: Effect }): AllEffect, (effects: $ReadOnlyArray<Effect>): AllEffect }; declare export var takeEvery: { // normal calls <A, R, Fn: (action: A) => Saga<R>>( pattern: Pattern, fn: Fn ): ForkEffect<null, Function, $ReadOnlyArray<any>>, <A, R, T1, Fn: (t1: T1, action: A) => Saga<R>>( pattern: Pattern, fn: Fn, t1: T1 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, <A, R, T1, T2, Fn: (t1: T1, t2: T2, action: A) => Saga<R>>( pattern: Pattern, fn: Fn, t1: T1, t2: T2 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, <A, R, T1, T2, T3, Fn: (t1: T1, t2: T2, t3: T3, action: A) => Saga<R>>( pattern: Pattern, fn: Fn, t1: T1, t2: T2, t3: T3 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, < A, R, T1, T2, T3, T4, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, action: A) => Saga<R> >( pattern: Pattern, fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, < A, R, T1, T2, T3, T4, T5, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, action: A) => Saga<R> >( pattern: Pattern, fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, < A, R, T1, T2, T3, T4, T5, T6, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, action: A) => Saga<R> >( pattern: Pattern, fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, < A, R, T1, T2, T3, T4, T5, T6, T7, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, action: A) => Saga<R> >( pattern: Pattern, fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, < A, R, T1, T2, T3, T4, T5, T6, T7, T8, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8, action: A) => Saga<R> >( pattern: Pattern, fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, // with channel <A, R, Fn: (action: A) => Saga<R>>( channel: Channel, fn: Fn ): ForkEffect<null, Function, $ReadOnlyArray<any>>, <A, R, T1, Fn: (t1: T1, action: A) => Saga<R>>( channel: Channel, fn: Fn, t1: T1 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, <A, R, T1, T2, Fn: (t1: T1, t2: T2, action: A) => Saga<R>>( channel: Channel, fn: Fn, t1: T1, t2: T2 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, <A, R, T1, T2, T3, Fn: (t1: T1, t2: T2, t3: T3, action: A) => Saga<R>>( channel: Channel, fn: Fn, t1: T1, t2: T2, t3: T3 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, < A, R, T1, T2, T3, T4, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, action: A) => Saga<R> >( channel: Channel, fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, < A, R, T1, T2, T3, T4, T5, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, action: A) => Saga<R> >( channel: Channel, fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, < A, R, T1, T2, T3, T4, T5, T6, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, action: A) => Saga<R> >( channel: Channel, fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, < A, R, T1, T2, T3, T4, T5, T6, T7, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, action: A) => Saga<R> >( channel: Channel, fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, < A, R, T1, T2, T3, T4, T5, T6, T7, T8, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8, action: A) => Saga<R> >( channel: Channel, fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8 ): ForkEffect<null, Function, $ReadOnlyArray<any>> }; declare export var takeLatest: { // normal calls <A, R, Fn: (action: A) => Saga<R>>( pattern: Pattern, fn: Fn ): ForkEffect<null, Function, $ReadOnlyArray<any>>, <A, R, T1, Fn: (t1: T1, action: A) => Saga<R>>( pattern: Pattern, fn: Fn, t1: T1 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, <A, R, T1, T2, Fn: (t1: T1, t2: T2, action: A) => Saga<R>>( pattern: Pattern, fn: Fn, t1: T1, t2: T2 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, <A, R, T1, T2, T3, Fn: (t1: T1, t2: T2, t3: T3, action: A) => Saga<R>>( pattern: Pattern, fn: Fn, t1: T1, t2: T2, t3: T3 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, < A, R, T1, T2, T3, T4, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, action: A) => Saga<R> >( pattern: Pattern, fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, < A, R, T1, T2, T3, T4, T5, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, action: A) => Saga<R> >( pattern: Pattern, fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, < A, R, T1, T2, T3, T4, T5, T6, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, action: A) => Saga<R> >( pattern: Pattern, fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, < A, R, T1, T2, T3, T4, T5, T6, T7, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, action: A) => Saga<R> >( pattern: Pattern, fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, < A, R, T1, T2, T3, T4, T5, T6, T7, T8, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8, action: A) => Saga<R> >( pattern: Pattern, fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, // with channel <A, R, Fn: (action: A) => Saga<R>>( channel: Channel, fn: Fn ): ForkEffect<null, Function, $ReadOnlyArray<any>>, <A, R, T1, Fn: (t1: T1, action: A) => Saga<R>>( channel: Channel, fn: Fn, t1: T1 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, <A, R, T1, T2, Fn: (t1: T1, t2: T2, action: A) => Saga<R>>( channel: Channel, fn: Fn, t1: T1, t2: T2 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, <A, R, T1, T2, T3, Fn: (t1: T1, t2: T2, t3: T3, action: A) => Saga<R>>( channel: Channel, fn: Fn, t1: T1, t2: T2, t3: T3 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, < A, R, T1, T2, T3, T4, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, action: A) => Saga<R> >( channel: Channel, fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, < A, R, T1, T2, T3, T4, T5, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, action: A) => Saga<R> >( channel: Channel, fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, < A, R, T1, T2, T3, T4, T5, T6, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, action: A) => Saga<R> >( channel: Channel, fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, < A, R, T1, T2, T3, T4, T5, T6, T7, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, action: A) => Saga<R> >( channel: Channel, fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, < A, R, T1, T2, T3, T4, T5, T6, T7, T8, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8, action: A) => Saga<R> >( channel: Channel, fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8 ): ForkEffect<null, Function, $ReadOnlyArray<any>> }; declare export var takeLeading: { // normal calls <A, R, Fn: (action: A) => Saga<R>>( pattern: Pattern, fn: Fn ): ForkEffect<null, Function, $ReadOnlyArray<any>>, <A, R, T1, Fn: (t1: T1, action: A) => Saga<R>>( pattern: Pattern, fn: Fn, t1: T1 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, <A, R, T1, T2, Fn: (t1: T1, t2: T2, action: A) => Saga<R>>( pattern: Pattern, fn: Fn, t1: T1, t2: T2 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, <A, R, T1, T2, T3, Fn: (t1: T1, t2: T2, t3: T3, action: A) => Saga<R>>( pattern: Pattern, fn: Fn, t1: T1, t2: T2, t3: T3 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, < A, R, T1, T2, T3, T4, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, action: A) => Saga<R> >( pattern: Pattern, fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, < A, R, T1, T2, T3, T4, T5, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, action: A) => Saga<R> >( pattern: Pattern, fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, < A, R, T1, T2, T3, T4, T5, T6, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, action: A) => Saga<R> >( pattern: Pattern, fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, < A, R, T1, T2, T3, T4, T5, T6, T7, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, action: A) => Saga<R> >( pattern: Pattern, fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, < A, R, T1, T2, T3, T4, T5, T6, T7, T8, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8, action: A) => Saga<R> >( pattern: Pattern, fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, // with channel <A, R, Fn: (action: A) => Saga<R>>( channel: Channel, fn: Fn ): ForkEffect<null, Function, $ReadOnlyArray<any>>, <A, R, T1, Fn: (t1: T1, action: A) => Saga<R>>( channel: Channel, fn: Fn, t1: T1 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, <A, R, T1, T2, Fn: (t1: T1, t2: T2, action: A) => Saga<R>>( channel: Channel, fn: Fn, t1: T1, t2: T2 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, <A, R, T1, T2, T3, Fn: (t1: T1, t2: T2, t3: T3, action: A) => Saga<R>>( channel: Channel, fn: Fn, t1: T1, t2: T2, t3: T3 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, < A, R, T1, T2, T3, T4, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, action: A) => Saga<R> >( channel: Channel, fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, < A, R, T1, T2, T3, T4, T5, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, action: A) => Saga<R> >( channel: Channel, fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, < A, R, T1, T2, T3, T4, T5, T6, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, action: A) => Saga<R> >( channel: Channel, fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6 ): ForkEffect<null, Function, $ReadOnlyArray<any>>, < A, R, T1, T2, T3, T4, T5, T6, T7, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, action: A) => Saga<R> >( channel: Channel, fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7 ): ForkEffect<null, Function, $ReadOnlyArray<any>> }; declare export var throttle: { // normal calls <A, R, Fn: (action: A) => Saga<R>>( ms: number, pattern: Pattern, fn: Fn ): ForkEffect<null, Function, []>, <A, R, T1, Fn: (t1: T1, action: A) => Saga<R>>( ms: number, pattern: Pattern, fn: Fn, t1: T1 ): ForkEffect<null, Function, [T1]>, <A, R, T1, T2, Fn: (t1: T1, t2: T2, action: A) => Saga<R>>( ms: number, pattern: Pattern, fn: Fn, t1: T1, t2: T2 ): ForkEffect<null, Function, [T1, T2]>, <A, R, T1, T2, T3, Fn: (t1: T1, t2: T2, t3: T3, action: A) => Saga<R>>( ms: number, pattern: Pattern, fn: Fn, t1: T1, t2: T2, t3: T3 ): ForkEffect<null, Function, [T1, T2, T3]>, < A, R, T1, T2, T3, T4, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, action: A) => Saga<R> >( ms: number, pattern: Pattern, fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4 ): ForkEffect<null, Function, [T1, T2, T3, T4]>, < A, R, T1, T2, T3, T4, T5, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, action: A) => Saga<R> >( ms: number, pattern: Pattern, fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5 ): ForkEffect<null, Function, [T1, T2, T3, T4, T5]>, < A, R, T1, T2, T3, T4, T5, T6, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, action: A) => Saga<R> >( ms: number, pattern: Pattern, fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6 ): ForkEffect<null, Function, [T1, T2, T3, T4, T5, T6]>, < A, R, T1, T2, T3, T4, T5, T6, T7, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, action: A) => Saga<R> >( ms: number, pattern: Pattern, fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7 ): ForkEffect<null, Function, [T1, T2, T3, T4, T5, T6, T7]>, < A, R, T1, T2, T3, T4, T5, T6, T7, T8, Fn: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8, action: A) => Saga<R> >( ms: number, pattern: Pattern, fn: Fn, t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8 ): ForkEffect<null, Function, [T1, T2, T3, T4, T5, T6, T7, T8]> }; }