export declare type Controlled < A extends any [ ] > = { readonly cancel : ( ) => void ; readonly invoke : ( ... args : A ) => void ; readonly isScheduled : ( ) => boolean ; readonly schedule : ( ... args : A ) => void ; } ; export declare type Options = { readonly delay : number ; readonly leading : boolean ; } ; /** Always returns the provided value, useful as a placeholder function. */ export declare function identity < A > ( value ) ; /** Returns `true` if provided values are equal, otherwise, returns `false`. */ export declare function equals ( snd ) ; export declare function equals ( fst , snd ) ; /** Calls the two provided functions and returns `&&` of the results → `fn0(value) && fn1(value)`. */ export declare function both < A > ( value , fn0 , fn1 ) ; export declare function both < A > ( fn0 , fn1 ) ; /** Calls the two provided functions and returns `||` of the results → `fn0(value) || fn1(value)`. */ export declare function either < A > ( value , fn0 , fn1 ) ; export declare function either < A > ( fn0 , fn1 ) ; /** Returns a function that always returns the provided value. */ export declare function always < A > ( value ) ; /** Returns a default value if `value` is nullable. */ export declare function defaultTo < T > ( defaultValue , value ) ; export declare function defaultTo < T > ( value ) ; /** Always returns `false`. */ export declare function falsy ( ) ; /** Always returns `true`. */ export declare function truthy ( ) ; /** Tests the given value by passing it to the predicate, if the predicate is satisfied, the function returns the result of `truthyFn`, otherwise, returns the result of `falsyFn`. */ export declare function ifElse < A , B > ( value , predicateFn , truthyFn , falsyFn ) ; export declare function ifElse < A , B > ( predicateFn , truthyFn , falsyFn ) ; /** Always returns `void`, useful as a placeholder function. */ export declare function ignore ( ) ; /** Tests the given value by passing it to the predicate, if the predicate is satisfied, the function returns `value`, otherwise, returns the result of `falsyFn`. */ export declare function unless < A > ( value , predicateFn , falsyFn ) ; export declare function unless < A > ( predicateFn , falsyFn ) ; /** Tests the given value by passing it to the predicate, if the predicate is satisfied, the function returns the result of `truthyFn`, otherwise, returns `value`. */ export declare function when < A > ( value , predicateFn , truthyFn ) ; export declare function when < A > ( predicateFn , truthyFn ) ; /** Determines whether all the provided predicates return `true` for the given value. */ export declare function allPass < A > ( value , fns ) ; export declare function allPass < A > ( fns ) ; /** Determines whether at least one of the provided predicate returns `true` for the given value. */ export declare function anyPass < A > ( value , fns ) ; export declare function anyPass < A > ( fns ) ; /** Applies a side-effect function on the given value and returns the original value. */ export declare function tap < A > ( value , fn ) ; export declare function tap < A > ( fn ) ; /** Takes a function and returns a new function (and other control values) which when used, suppresses calls to the given function to only once within the given `delay`. If `leading` is set to `true`, the function will be allowed to run on the first call before the throttling starts. */ export declare function makeControlledThrottle < A extends any [ ] > ( fn , options ) ; export declare function makeControlledThrottle < A extends any [ ] > ( options ) ; /** Takes a function and returns a new function (no control values) which when used, suppresses calls to the given function to only once within the given `delay`. */ export declare function throttle < A extends any [ ] > ( fn , delay ) ; export declare function throttle < A extends any [ ] > ( delay ) ; /** Takes a function, and returns a new function (and other control values) which when called, will only invoke the given input function after a period of inactivity. If `leading` is set to `true`, the function will be invoked immediately. */ export declare function makeControlledDebounce < A extends any [ ] > ( fn , options ) ; export declare function makeControlledDebounce < A extends any [ ] > ( options ) ; /** Takes a function, and returns a new function (no control values) which when called, will only invoke the given input function after a period of inactivity. */ export declare function debounce < A extends any [ ] > ( fn , delay ) ; export declare function debounce < A extends any [ ] > ( delay ) ;