import { type TExtendsAny } from './any.mjs'; import { type TExtendsArray } from './array.mjs'; import { type TExtendsBigInt } from './bigint.mjs'; import { type TExtendsBoolean } from './boolean.mjs'; import { type TExtendsConstructor } from './constructor.mjs'; import { type TExtendsDependent } from './dependent.mjs'; import { type TExtendsEnum } from './enum.mjs'; import { type TExtendsFunction } from './function.mjs'; import { type TExtendsInteger } from './integer.mjs'; import { type TExtendsIntersect } from './intersect.mjs'; import { type TExtendsLiteral } from './literal.mjs'; import { type TExtendsNever } from './never.mjs'; import { type TExtendsNull } from './null.mjs'; import { type TExtendsNumber } from './number.mjs'; import { type TExtendsObject } from './object.mjs'; import { type TExtendsRecord } from './record.mjs'; import { type TExtendsString } from './string.mjs'; import { type TExtendsSymbol } from './symbol.mjs'; import { type TExtendsTemplateLiteral } from './template_literal.mjs'; import { type TExtendsTuple } from './tuple.mjs'; import { type TExtendsUndefined } from './undefined.mjs'; import { type TExtendsUnion } from './union.mjs'; import { type TExtendsUnknown } from './unknown.mjs'; import { type TExtendsVoid } from './void.mjs'; import { type TAny } from '../types/any.mjs'; import { type TArray } from '../types/array.mjs'; import { type TBigInt } from '../types/bigint.mjs'; import { type TBoolean } from '../types/boolean.mjs'; import { type TConstructor } from '../types/constructor.mjs'; import { type TDependent } from '../types/dependent.mjs'; import { type TEnum, type TEnumValue } from '../types/enum.mjs'; import { type TFunction } from '../types/function.mjs'; import { type TInteger } from '../types/integer.mjs'; import { type TIntersect } from '../types/intersect.mjs'; import { type TLiteral } from '../types/literal.mjs'; import { type TNever } from '../types/never.mjs'; import { type TNull } from '../types/null.mjs'; import { type TNumber } from '../types/number.mjs'; import { type TObject } from '../types/object.mjs'; import { type TRecord } from '../types/record.mjs'; import { type TSchema } from '../types/schema.mjs'; import { type TString } from '../types/string.mjs'; import { type TSymbol } from '../types/symbol.mjs'; import { type TTemplateLiteral } from '../types/template_literal.mjs'; import { type TTuple } from '../types/tuple.mjs'; import { type TUndefined } from '../types/undefined.mjs'; import { type TUnknown } from '../types/unknown.mjs'; import { type TProperties } from '../types/properties.mjs'; import { type TUnion } from '../types/union.mjs'; import { type TVoid } from '../types/void.mjs'; import * as Result from './result.mjs'; export type TExtendsLeft = (Left extends TAny ? TExtendsAny : Left extends TArray ? TExtendsArray : Left extends TBigInt ? TExtendsBigInt : Left extends TBoolean ? TExtendsBoolean : Left extends TConstructor ? TExtendsConstructor : Left extends TDependent ? TExtendsDependent : Left extends TEnum ? TExtendsEnum : Left extends TFunction ? TExtendsFunction : Left extends TInteger ? TExtendsInteger : Left extends TIntersect ? TExtendsIntersect : Left extends TLiteral ? TExtendsLiteral : Left extends TNever ? TExtendsNever : Left extends TNull ? TExtendsNull : Left extends TNumber ? TExtendsNumber : Left extends TObject ? TExtendsObject : Left extends TRecord ? TExtendsRecord : Left extends TString ? TExtendsString : Left extends TSymbol ? TExtendsSymbol : Left extends TTemplateLiteral ? TExtendsTemplateLiteral : Left extends TTuple ? TExtendsTuple : Left extends TUndefined ? TExtendsUndefined : Left extends TUnion ? TExtendsUnion : Left extends TUnknown ? TExtendsUnknown : Left extends TVoid ? TExtendsVoid : Result.TExtendsFalse); export declare function ExtendsLeft(inferred: Inferred, left: Left, right: Right): TExtendsLeft;