type Arm = [...T[], () => A]; type ArmFn = (ref: T) => Arm; export declare function match(value: T, arms: Array | ArmFn>, defaultArm: (value: T) => A): A; export declare function matches(lhs: T, rhs: T, condition?: boolean): boolean; export {};