import { PickRestrictedObject } from "./types"; export declare type ChainedObject> = { [key in keyof T]: (...p: Parameters) => ChainedObject; }; /** * Creates a chain with functions. * * @example * * const chained = chain({ * count: 1, * increase(count: number) { this.count += count }, * decrease(count: number) { this.count -= count } * }); * chained.increase(2).decrease(1); * * // => 2 */ export declare function chain(source: T): ChainedObject>;