import { type TSchema } from '../types/schema.mjs'; import { type TProperties } from '../types/properties.mjs'; import { type TAny } from '../types/any.mjs'; import { type TConstructor } from '../types/constructor.mjs'; import { type TUnknown } from '../types/unknown.mjs'; import * as Result from './result.mjs'; import { type TExtendsParameters } from './parameters.mjs'; import { type TExtendsReturnType } from './return_type.mjs'; export type TExtendsConstructor = (Right extends TAny ? Result.TExtendsTrue : Right extends TUnknown ? Result.TExtendsTrue : Right extends TConstructor ? TExtendsParameters extends Result.TExtendsTrueLike ? TExtendsReturnType : Result.TExtendsFalse : Result.TExtendsFalse); export declare function ExtendsConstructor(inferred: Inferred, parameters: [...Parameters], returnType: InstanceType, right: Right): TExtendsConstructor;