export declare type Obj = Record<string, unknown>;
/**
 * Returns a copy of an object with all undefined values removed.
 *
 * @param obj The input object.
 * @returns A copy of the input object with all undefined values removed.
 */
export declare function pickDefined<T extends Obj>(obj: T): Partial<T>;
export declare function getFrom<T = unknown>(object: Obj, name: string, fn?: (value: unknown) => T): T;
export declare function check<T = unknown>(value: unknown, name: string, fn?: (value: unknown) => T): T;
export declare function optional<T>(fn?: (value: unknown) => T): (value: unknown) => T;
export declare function required<T = unknown>(fn?: (value: unknown) => T): (value: unknown) => T;
export declare function asBoolean(value: unknown): boolean;
export declare function asString(value: unknown): string;
export declare function asNumber(value: unknown): number;
export declare function asNonNegNumber(value: unknown): number;
export declare function asDate(value: unknown): Date;
export declare function asArray(value: unknown): unknown[];
export declare function asObject(value: unknown): Obj;
export declare function isObject(value: unknown): value is Record<string, unknown>;
export declare function typeError(expected: string, value: unknown): TypeError;
export declare function printValue(value: unknown, refs?: unknown[]): string;
