import { Optional } from '../types/Types'; import { Construct } from '../types/Constructor'; import { Get } from '../types/Get'; import { OneOrMore } from '../types/Array'; export declare function ifTrue(o: unknown, f: Construct>, alt: Construct): Out; export declare function ifTrue(o: unknown, f: Construct>, alt?: Construct): Optional; export declare function ifFalse(o: unknown, f: Construct>, alt: Construct): Out; export declare function ifFalse(o: unknown, f: Construct>, alt?: Construct): Optional; export declare function ifDefined(o: Optional, f: Construct>, alt: Construct): Out; export declare function ifDefined(o: Optional, f: Construct>, alt?: Construct): Optional; export declare function ifNotEmpty(o: In, f: Construct>, alt: Construct): Out; export declare function ifNotEmpty(o: In, f?: Construct>, alt?: Construct): Optional; export declare function ifNotEmpty(o: In, f: Construct>, alt?: Construct): Optional; export declare function ifEmpty(o: In, f: Construct>, alt: Construct): Out; export declare function ifEmpty(o: In, f?: Construct>, alt?: Construct): Optional; export declare function ifEmpty(o: In, f: Construct>, alt?: Construct): Optional; export declare function given(o: T, key: K, alt: Get): T[K]; export declare function given(o: T, key: K, alt?: Get): Optional; export declare function ifEqual(one: unknown, another: unknown, f: Construct, alt: Construct): Out; export declare function ifEqual(one: unknown, another: unknown, f: Construct, alt?: Construct): Optional; export declare function ifEither(os: OneOrMore, f: Construct>, alt: Construct): Out; export declare function ifEither(os: OneOrMore, f?: Construct>, alt?: Construct): Optional; export declare function ifEither(os: OneOrMore, f: Construct>, alt?: Construct): Optional;