import { Effect, Event, Store, UnitTargetable, UnitValue, EventCallable, EventCallableAsReturnType } from 'effector'; type NoInfer = [T][T extends any ? 0 : never]; type NonFalsy = T extends null | undefined | false | 0 | 0n | '' ? never : T; type SourceUnit = Store | Event | Effect; export declare function condition(options: { source?: undefined; if: ((payload: Payload) => payload is Then) | Then; then?: UnitTargetable | void>; else?: UnitTargetable, Then> | void>; }): EventCallableAsReturnType; export declare function condition = NonFalsy>(options: { source?: undefined; if: BooleanConstructor; then?: UnitTargetable | void>; else?: UnitTargetable, Then> | void>; }): EventCallableAsReturnType; export declare function condition(options: { source?: undefined; if: ((payload: Payload) => boolean) | Store | NoInfer; then?: UnitTargetable | void>; else?: UnitTargetable | void>; }): EventCallableAsReturnType; export declare function condition, Then extends Payload = Payload, Source extends SourceUnit = SourceUnit>(options: { source: Source; if: ((payload: Payload) => payload is Then) | Then; then?: UnitTargetable>; else?: UnitTargetable, Then>>; }): Source; export declare function condition, Then extends NonFalsy = NonFalsy, Source extends SourceUnit = SourceUnit>(options: { source: Source; if: BooleanConstructor; then?: UnitTargetable | void>; else?: UnitTargetable, Then>>; }): EventCallable; export declare function condition, Source extends SourceUnit = SourceUnit>(options: { source: SourceUnit; if: ((payload: Payload) => boolean) | Store | NoInfer; then?: UnitTargetable | void>; else?: UnitTargetable | void>; }): Source; export {};