export declare function isBlank(value: unknown): boolean; export declare function mergeOptions(obj1: object, ...objs: unknown[]): any; /** * Assign target object proeprties to source object proeprties, support property type: * * Plain Object * * Array * * Other * @deprecated 不应该产生新对象结果,应该直接修改 source 对象 * * @param source * @param target * @param dpth The depth of merge * @returns */ export declare function assignDeepOmitBlank(source: object, target: object, dpth?: number): any; export declare function omitBlank(obj: T): T; /** * @description * * Represents a type that a Component or other object is instances of. * * An example of a `Type` is `MyCustomComponent` class, which in JavaScript is represented by * the `MyCustomComponent` constructor function. * * @publicApi */ export declare const Type: FunctionConstructor; export declare function isType(v: any): v is Type; /** * @description * * Represents an abstract class `T`, if applied to a concrete class it would stop being * instantiable. * * @publicApi */ export interface AbstractType extends Function { prototype: T; } export interface Type extends Function { new (...args: any[]): T; } export type Mutable = { [P in K]: T[P]; }; /** * Returns a writable type version of type. * * USAGE: * Given: * ``` * interface Person {readonly name: string} * ``` * * We would like to get a read/write version of `Person`. * ``` * const WritablePerson = Writable; * ``` * * The result is that you can do: * * ``` * const readonlyPerson: Person = {name: 'Marry'}; * readonlyPerson.name = 'John'; // TypeError * (readonlyPerson as WritablePerson).name = 'John'; // OK * * // Error: Correctly detects that `Person` did not have `age` property. * (readonlyPerson as WritablePerson).age = 30; * ``` */ export type Writable = { -readonly [K in keyof T]: T[K]; }; export type DeepPartial = T extends object ? { [P in keyof T]?: DeepPartial; } : T;