/** @internal */ declare class _NewableBivarianceHack { constructor(...args: Args); } /** @internal */ declare abstract class _NewableAbstractBivarianceHack { constructor(...args: Args); } /** @internal */ export type _BivariantNewable = typeof _NewableBivarianceHack & (object extends Required ? unknown : new (...args: any) => Return); /** @internal */ export type _BivariantAbstractNewable = typeof _NewableAbstractBivarianceHack & (abstract new (...args: any) => Return); export type BivariantNewable_ = [Func] extends [ new (...args: infer Args) => infer Result ] ? _BivariantNewable : [Func] extends [abstract new (...args: infer Args) => infer Result] ? _BivariantAbstractNewable : never; export type BivariantNewable any> = BivariantNewable_; export type $BivariantNewable_ = Func extends any ? BivariantNewable_ : never; export type $BivariantNewable any> = $BivariantNewable_; export {}; //# sourceMappingURL=BivariantNewable.d.ts.map