import { Effect } from 'effector'; import { EventCallable } from 'effector'; import { Store } from 'effector'; import { StoreWritable } from 'effector'; import { Unit } from 'effector'; import { UnitTargetable } from 'effector'; import { UnitValue } from 'effector'; declare type ClockShape = Unit | Unit[]; declare type ConfigFactory = Config | (() => Config); export declare function createAction, Src extends SoureShape | Store, Clc extends ClockShape>(config: { clock: Clc; source: Src; target: Target; fn: (target: CreateCallableTargets, source: GetSourceValue, clock: GetClockValue) => void; }): void; export declare function createAction, Clc extends ClockShape>(config: { clock: Clc; target: Target; fn: (target: CreateCallableTargets, clock: GetClockValue) => void; }): void; export declare function createAction, Src extends SoureShape | Store, ClockValue = void>(config: { source: Src; target: Target; fn: (target: CreateCallableTargets, source: GetSourceValue, clock: ClockValue) => void; }): EventCallable; export declare function createAction, ClockValue = void>(config: { target: Target; fn: (target: CreateCallableTargets, clock: ClockValue) => void; }): EventCallable; export declare function createAction, Src extends SoureShape | Store, Clc extends ClockShape>(clock: Clc, config: { source: Src; target: Target; fn: (target: CreateCallableTargets, source: GetSourceValue, clock: GetClockValue) => void; }): void; export declare function createAction, Clc extends ClockShape>(clock: Clc, config: { target: Target; fn: (target: CreateCallableTargets, clock: GetClockValue) => void; }): void; export declare function createAsyncAction, ClockValue = void, ActionResult = void>(configFactory: ConfigFactory<{ source: Src; target: Target; fn: (target: CreateCallableTargets_2, getSource: () => Promise>, clock: ClockValue) => ActionResult; }>): Effect, unknown>; export declare function createAsyncAction(configFactory: ConfigFactory<{ target: Target; fn: (target: CreateCallableTargets_2, clock: ClockValue) => ActionResult; }>): Effect, unknown>; declare type CreateCallableTargets> = Target extends Record> ? { [K in keyof Target]: CreateCallableTargets; } : Target extends UnitTargetable ? Target extends StoreWritable ? ((valueOrFn: UnitValue | ((value: UnitValue) => UnitValue)) => UnitValue) & { reinit: () => void; } : (value: UnitValue) => UnitValue : never; declare type CreateCallableTargets_2> = Target extends Record> ? { [K in keyof Target]: CreateCallableTargets_2; } : Target extends UnitTargetable ? Target extends StoreWritable ? ((valueOrFn: UnitValue) => UnitValue) & { reinit: () => void; } : Target extends Effect ? (payload: EffectPayload) => Promise : (value: UnitValue) => UnitValue : never; declare type GetClockValue> = Clc extends ClockShape ? Val : never; declare type GetSourceValue | SoureShape> = Src extends Store ? Value : { [K in RemoveDollarPrefix]: UnitValue]>; }; declare type IsNever = [T] extends [never] ? Then : Else; declare type RemoveDollarPrefix = Key extends `$${infer K}` ? K : Key; declare type SoureShape = Record>; declare type TargetShape = Record>; export { }