export type RecursivePartial<T> = {
    [P in keyof T]?: T[P] extends (infer U)[] ? RecursivePartial<U>[] : T[P] extends (infer U)[] | undefined ? RecursivePartial<U>[] : T[P] extends object ? RecursivePartial<T[P]> : T[P] extends object | undefined ? RecursivePartial<T[P]> : T[P];
};
declare class Id<T extends string> {
    private IDENTITY;
}
export type Reactive<T> = Id<"Reactive"> & T;
export declare function Reactive<T extends object>(value: T): Reactive<T>;
export interface ReadonlyRef<T> {
    readonly value: T;
}
export declare function nonNull<T>(val?: T | null, name?: string): T;
export {};
