import { Optional } from "./common"; declare type Arg = [condFn: (value: T) => boolean, resolve: (value: T) => V]; declare type CondPartial = { (args: [Arg]): (value: T) => Optional; (args: [Arg, Arg]): (value: T) => Optional; (args: [Arg, Arg, Arg]): (value: T) => Optional; (args: [Arg, Arg, Arg, Arg]): (value: T) => Optional; (args: [Arg, Arg, Arg, Arg, Arg]): (value: T) => Optional; (args: [Arg, Arg, Arg, Arg, Arg, Arg]): (value: T) => Optional; (args: [Arg, Arg, Arg, Arg, Arg, Arg, Arg]): (value: T) => Optional; (args: [Arg, Arg, Arg, Arg, Arg, Arg, Arg, Arg]): (value: T) => Optional; (args: [Arg, Arg, Arg, Arg, Arg, Arg, Arg, Arg, Arg]): (value: T) => Optional; (args: [Arg, Arg, Arg, Arg, Arg, Arg, Arg, Arg, Arg, Arg]): (value: T) => Optional; }; declare type CondNormal = { (args: [Arg], value: T): Optional; (args: [Arg, Arg], value: T): Optional; (args: [Arg, Arg, Arg], value: T): Optional; (args: [Arg, Arg, Arg, Arg], value: T): Optional; (args: [Arg, Arg, Arg, Arg, Arg], value: T): Optional; (args: [Arg, Arg, Arg, Arg, Arg, Arg], value: T): Optional; (args: [Arg, Arg, Arg, Arg, Arg, Arg, Arg], value: T): Optional; (args: [Arg, Arg, Arg, Arg, Arg, Arg, Arg, Arg], value: T): Optional; (args: [Arg, Arg, Arg, Arg, Arg, Arg, Arg, Arg, Arg], value: T): Optional; (args: [Arg, Arg, Arg, Arg, Arg, Arg, Arg, Arg, Arg, Arg], value: T): Optional; }; declare type Cond = CondNormal & CondPartial; export declare const cond: Cond; export {};