import type { IndexedObject, IndexedRecord, NumStr, empty as baseEmpty, stringU as baseStringU, unknowns as baseUnknowns, types } from "../types";
export { _false as false, _null as null, _true as true, _undefined as undefined };
export declare const and: {
(value: unknown, guard1: Guard, guard2: Guard): value is A & B;
(value: unknown, guard1: Guard, guard2: Guard, guard3: Guard): value is A & B & C;
(value: unknown, guard1: Guard, guard2: Guard, guard3: Guard, guard4: Guard): value is A & B & C & D;
} & Readonly<{
factory: {
(guard1: Guard, guard2: Guard): Guard;
(guard1: Guard, guard2: Guard, guard3: Guard): Guard;
(guard1: Guard, guard2: Guard, guard3: Guard, guard4: Guard): Guard;
};
}>;
export declare const or: {
(value: unknown, guard1: Guard, guard2: Guard): value is A | B;
(value: unknown, guard1: Guard, guard2: Guard, guard3: Guard): value is A | B | C;
(value: unknown, guard1: Guard, guard2: Guard, guard3: Guard, guard4: Guard): value is A | B | C | D;
} & Readonly<{
factory: {
(guard1: Guard, guard2: Guard): Guard;
(guard1: Guard, guard2: Guard, guard3: Guard): Guard;
(guard1: Guard, guard2: Guard, guard3: Guard, guard4: Guard): Guard;
};
}>;
export declare const array: ((value: unknown) => value is baseUnknowns) & Readonly<{
/**
* Checks if value type is T[].
* @param value - Value.
* @param guard - Guard for type T.
* @returns _True_ if value type is T[], _false_ otherwise.
*/
of: (value: unknown, guard: Guard) => value is readonly T[];
}>;
export declare const arrayU: Guard;
export declare const arrays: Guard;
export declare const arraysU: Guard;
export declare const booleanU: Guard;
export declare const booleans: Guard;
export declare const booleansU: Guard;
export declare const indexedObject: ((value: unknown) => value is IndexedObject) & Readonly<{
/**
* Checks if value type is IndexedObject\.
* @param value - Value.
* @param guard - Guard for type T.
* @returns _True_ if value type is IndexedObject\, _false_ otherwise.
*/
of: (value: unknown, guard: Guard) => value is IndexedObject;
}>;
export declare const indexedObjectU: Guard;
export declare const indexedObjects: Guard;
export declare const indexedObjectsU: Guard;
export declare const map: ((value: unknown) => value is ReadonlyMap) & Readonly<{
/**
* Checks if value type is Map\.
* @param value - Value.
* @param keyGuard - Key guard.
* @param valueGuard - Value guard.
* @returns _True_ if value type is Map\, _false_ otherwise.
*/
of: (value: unknown, keyGuard: Guard, valueGuard: Guard) => value is ReadonlyMap;
}>;
export declare const mapU: Guard | undefined>;
export declare const maps: Guard[]>;
export declare const mapsU: Guard[] | undefined>;
export declare const numStrU: Guard;
export declare const numStrs: Guard;
export declare const numStrsU: Guard;
export declare const numberU: Guard;
export declare const numbers: Guard;
export declare const numbersU: Guard;
export declare const object: ((value: unknown) => value is object) & Readonly<{
factory: {
(required: GuardsRecord, optional: GuardsRecord): Guard> & types.object.style.Undefined>;
(required: GuardsRecord>, optional: GuardsRecord>): Guard;
};
of: {
(value: unknown, required: GuardsRecord, optional: GuardsRecord): value is types.object.style.Optional> & types.object.style.Undefined;
(value: unknown, required: GuardsRecord>, optional: GuardsRecord>): value is T;
};
}>;
export declare const objectU: Guard