export declare const REF_PROP_NAME = "__ref__"; export default interface Ref { readonly [REF_PROP_NAME]: true; value: T; } export declare function isRef(value: any): value is Ref; declare type BailTypes = Function | Map | Set | WeakMap | WeakSet; export declare type UnwrapRef = T extends Ref ? UnwrapRef2 : T extends BailTypes ? T : T extends object ? { [K in keyof T]: UnwrapRef2; } : T; declare type UnwrapRef2 = T extends Ref ? UnwrapRef3 : T extends BailTypes ? T : T extends object ? { [K in keyof T]: UnwrapRef3; } : T; declare type UnwrapRef3 = T extends Ref ? UnwrapRef4 : T extends BailTypes ? T : T extends object ? { [K in keyof T]: UnwrapRef4; } : T; declare type UnwrapRef4 = T extends Ref ? UnwrapRef5 : T extends BailTypes ? T : T extends object ? { [K in keyof T]: UnwrapRef5; } : T; declare type UnwrapRef5 = T extends Ref ? UnwrapRef6 : T extends BailTypes ? T : T extends object ? { [K in keyof T]: UnwrapRef6; } : T; declare type UnwrapRef6 = T extends Ref ? UnwrapRef7 : T extends BailTypes ? T : T extends object ? { [K in keyof T]: UnwrapRef7; } : T; declare type UnwrapRef7 = T extends Ref ? UnwrapRef8 : T extends BailTypes ? T : T extends object ? { [K in keyof T]: UnwrapRef8; } : T; declare type UnwrapRef8 = T extends Ref ? UnwrapRef9 : T extends BailTypes ? T : T extends object ? { [K in keyof T]: UnwrapRef9; } : T; declare type UnwrapRef9 = T extends Ref ? UnwrapRef10 : T extends BailTypes ? T : T extends object ? { [K in keyof T]: UnwrapRef10; } : T; declare type UnwrapRef10 = T extends Ref ? V : T; export {}; //# sourceMappingURL=Ref.d.ts.map