import { AbstractType } from "./AbstractType"; import { FunctionType } from "./FunctionType"; import { AnyType } from "./AnyType"; import { conversion, Req, scalar } from "@huz-com/types"; import { StringType } from "./StringType"; declare type T = scalar.AnyObject; declare type O = conversion.CastBaseMap; export declare class ObjectType extends AbstractType implements conversion.BeGeneric { protected static _ins: ObjectType; protected _anyType: AnyType; protected _stringType: StringType; protected _functionType: FunctionType; protected _genericName: string; /** * Returns skeleton instance * */ static ins(): ObjectType; constructor(); /** * Is not-empty or filled * * @override * */ protected _notEmpty(value: T): boolean; /** * Checks is object? */ is(value: scalar.Unknown, opt?: O, req?: Req): boolean; /** * Converts a value to object */ cast(value: scalar.Unknown, opt?: O, req?: Req): T; /** * Converts a value to typed object */ castTyped(value: scalar.Unknown | E, opt?: O, req?: Req, fn?: conversion.CastFn): E; /** * Converts a value to typed object array */ castArrayTyped(value: scalar.Unknown | Array, opt?: conversion.CastBaseArray | O, req?: Req, fn?: conversion.CastFn): Array; /** * Converts a value to typed object map */ castMapTyped(value: scalar.Unknown | scalar.StrMap, opt?: conversion.CastBaseMap | O, req?: Req, fn?: conversion.CastFn): scalar.StrMap; get genericName(): string; /** */ withGeneric(generics: Array, values: scalar.Unknown, title?: scalar.Title): Record; /** * Returns name of object (constructor name) * */ getName(value: scalar.Unknown): scalar.Alpha | null; /** * Returns fqn name of object (Full Qualified Name) * */ getFqn(value: scalar.Unknown): scalar.Alpha | null; /** * Clones an object */ clone(value: E): E; /** * Sorts keys of object */ withSortedKeys(value: scalar.StrMap, deeply: true): scalar.StrMap; } export {};