import * as S from './mapping.mjs';
import * as Token from './token/index.mjs';
export type TGenericParameterExtendsEquals = (Token.TIdent extends [infer _0, infer Input extends string] ? (Token.TConst<'extends', Input> extends [infer _1, infer Input extends string] ? (TType extends [infer _2, infer Input extends string] ? (Token.TConst<'=', Input> extends [infer _3, infer Input extends string] ? (TType extends [infer _4, infer Input extends string] ? [[_0, _1, _2, _3, _4], Input] : []) : []) : []) : []) : []) extends [infer _0 extends [unknown, unknown, unknown, unknown, unknown], infer Input extends string] ? [S.TGenericParameterExtendsEqualsMapping<_0>, Input] : [];
export type TGenericParameterExtends = (Token.TIdent extends [infer _0, infer Input extends string] ? (Token.TConst<'extends', Input> extends [infer _1, infer Input extends string] ? (TType extends [infer _2, infer Input extends string] ? [[_0, _1, _2], Input] : []) : []) : []) extends [infer _0 extends [unknown, unknown, unknown], infer Input extends string] ? [S.TGenericParameterExtendsMapping<_0>, Input] : [];
export type TGenericParameterEquals = (Token.TIdent extends [infer _0, infer Input extends string] ? (Token.TConst<'=', Input> extends [infer _1, infer Input extends string] ? (TType extends [infer _2, infer Input extends string] ? [[_0, _1, _2], Input] : []) : []) : []) extends [infer _0 extends [unknown, unknown, unknown], infer Input extends string] ? [S.TGenericParameterEqualsMapping<_0>, Input] : [];
export type TGenericParameterIdentifier = Token.TIdent extends [infer _0 extends string, infer Input extends string] ? [S.TGenericParameterIdentifierMapping<_0>, Input] : [];
export type TGenericParameter = (TGenericParameterExtendsEquals extends [infer _0, infer Input extends string] ? [_0, Input] : TGenericParameterExtends extends [infer _0, infer Input extends string] ? [_0, Input] : TGenericParameterEquals extends [infer _0, infer Input extends string] ? [_0, Input] : TGenericParameterIdentifier extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends unknown, infer Input extends string] ? [S.TGenericParameterMapping<_0>, Input] : [];
export type TGenericParameterList_0 = (Token.TConst<',', Input> extends [infer _0, infer Input extends string] ? (TGenericParameter extends [infer _1, infer Input extends string] ? [[_0, _1], Input] : []) : []) extends [infer _0, infer Input extends string] ? TGenericParameterList_0 : [Result, Input];
export type TGenericParameterList = ((TGenericParameter extends [infer _0, infer Input extends string] ? (TGenericParameterList_0 extends [infer _1, infer Input extends string] ? ((Token.TConst<',', Input> extends [infer _0, infer Input extends string] ? [[_0], Input] : [[], Input]) extends [infer _2, infer Input extends string] ? [[_0, _1, _2], Input] : []) : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : [[], Input] extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends [unknown, unknown, unknown] | [], infer Input extends string] ? [S.TGenericParameterListMapping<_0>, Input] : [];
export type TGenericParameters = (Token.TConst<'<', Input> extends [infer _0, infer Input extends string] ? (TGenericParameterList extends [infer _1, infer Input extends string] ? (Token.TConst<'>', Input> extends [infer _2, infer Input extends string] ? [[_0, _1, _2], Input] : []) : []) : []) extends [infer _0 extends [unknown, unknown, unknown], infer Input extends string] ? [S.TGenericParametersMapping<_0>, Input] : [];
export type TGenericCallArgumentList_0 = (Token.TConst<',', Input> extends [infer _0, infer Input extends string] ? (TType extends [infer _1, infer Input extends string] ? [[_0, _1], Input] : []) : []) extends [infer _0, infer Input extends string] ? TGenericCallArgumentList_0 : [Result, Input];
export type TGenericCallArgumentList = ((TType extends [infer _0, infer Input extends string] ? (TGenericCallArgumentList_0 extends [infer _1, infer Input extends string] ? ((Token.TConst<',', Input> extends [infer _0, infer Input extends string] ? [[_0], Input] : [[], Input]) extends [infer _2, infer Input extends string] ? [[_0, _1, _2], Input] : []) : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : [[], Input] extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends [unknown, unknown, unknown] | [], infer Input extends string] ? [S.TGenericCallArgumentListMapping<_0>, Input] : [];
export type TGenericCallArguments = (Token.TConst<'<', Input> extends [infer _0, infer Input extends string] ? (TGenericCallArgumentList extends [infer _1, infer Input extends string] ? (Token.TConst<'>', Input> extends [infer _2, infer Input extends string] ? [[_0, _1, _2], Input] : []) : []) : []) extends [infer _0 extends [unknown, unknown, unknown], infer Input extends string] ? [S.TGenericCallArgumentsMapping<_0>, Input] : [];
export type TGenericCall = (Token.TIdent extends [infer _0, infer Input extends string] ? (TGenericCallArguments extends [infer _1, infer Input extends string] ? [[_0, _1], Input] : []) : []) extends [infer _0 extends [unknown, unknown], infer Input extends string] ? [S.TGenericCallMapping<_0>, Input] : [];
export type TOptionalSemiColon = ((Token.TConst<';', Input> extends [infer _0, infer Input extends string] ? [[_0], Input] : []) extends [infer _0, infer Input extends string] ? [_0, Input] : [[], Input] extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends [unknown] | [], infer Input extends string] ? [S.TOptionalSemiColonMapping<_0>, Input] : [];
export type TKeywordString = Token.TConst<'string', Input> extends [infer _0 extends 'string', infer Input extends string] ? [S.TKeywordStringMapping<_0>, Input] : [];
export type TKeywordNumber = Token.TConst<'number', Input> extends [infer _0 extends 'number', infer Input extends string] ? [S.TKeywordNumberMapping<_0>, Input] : [];
export type TKeywordBoolean = Token.TConst<'boolean', Input> extends [infer _0 extends 'boolean', infer Input extends string] ? [S.TKeywordBooleanMapping<_0>, Input] : [];
export type TKeywordUndefined = Token.TConst<'undefined', Input> extends [infer _0 extends 'undefined', infer Input extends string] ? [S.TKeywordUndefinedMapping<_0>, Input] : [];
export type TKeywordNull = Token.TConst<'null', Input> extends [infer _0 extends 'null', infer Input extends string] ? [S.TKeywordNullMapping<_0>, Input] : [];
export type TKeywordInteger = Token.TConst<'integer', Input> extends [infer _0 extends 'integer', infer Input extends string] ? [S.TKeywordIntegerMapping<_0>, Input] : [];
export type TKeywordBigInt = Token.TConst<'bigint', Input> extends [infer _0 extends 'bigint', infer Input extends string] ? [S.TKeywordBigIntMapping<_0>, Input] : [];
export type TKeywordUnknown = Token.TConst<'unknown', Input> extends [infer _0 extends 'unknown', infer Input extends string] ? [S.TKeywordUnknownMapping<_0>, Input] : [];
export type TKeywordAny = Token.TConst<'any', Input> extends [infer _0 extends 'any', infer Input extends string] ? [S.TKeywordAnyMapping<_0>, Input] : [];
export type TKeywordObject = Token.TConst<'object', Input> extends [infer _0 extends 'object', infer Input extends string] ? [S.TKeywordObjectMapping<_0>, Input] : [];
export type TKeywordNever = Token.TConst<'never', Input> extends [infer _0 extends 'never', infer Input extends string] ? [S.TKeywordNeverMapping<_0>, Input] : [];
export type TKeywordSymbol = Token.TConst<'symbol', Input> extends [infer _0 extends 'symbol', infer Input extends string] ? [S.TKeywordSymbolMapping<_0>, Input] : [];
export type TKeywordVoid = Token.TConst<'void', Input> extends [infer _0 extends 'void', infer Input extends string] ? [S.TKeywordVoidMapping<_0>, Input] : [];
export type TKeywordThis = Token.TConst<'this', Input> extends [infer _0 extends 'this', infer Input extends string] ? [S.TKeywordThisMapping<_0>, Input] : [];
export type TTemplateInterpolate = (Token.TConst<'${', Input> extends [infer _0, infer Input extends string] ? (TType extends [infer _1, infer Input extends string] ? (Token.TConst<'}', Input> extends [infer _2, infer Input extends string] ? [[_0, _1, _2], Input] : []) : []) : []) extends [infer _0 extends [unknown, unknown, unknown], infer Input extends string] ? [S.TTemplateInterpolateMapping<_0>, Input] : [];
export type TTemplateSpan = Token.TUntil<['${', '`'], Input> extends [infer _0 extends string, infer Input extends string] ? [S.TTemplateSpanMapping<_0>, Input] : [];
export type TTemplateBody = ((TTemplateSpan extends [infer _0, infer Input extends string] ? (TTemplateInterpolate extends [infer _1, infer Input extends string] ? (TTemplateBody extends [infer _2, infer Input extends string] ? [[_0, _1, _2], Input] : []) : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : (TTemplateSpan extends [infer _0, infer Input extends string] ? [[_0], Input] : []) extends [infer _0, infer Input extends string] ? [_0, Input] : (TTemplateSpan extends [infer _0, infer Input extends string] ? [[_0], Input] : []) extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends [unknown, unknown, unknown] | [unknown], infer Input extends string] ? [S.TTemplateBodyMapping<_0>, Input] : [];
export type TTemplateLiteralTypes = (Token.TConst<'`', Input> extends [infer _0, infer Input extends string] ? (TTemplateBody extends [infer _1, infer Input extends string] ? (Token.TConst<'`', Input> extends [infer _2, infer Input extends string] ? [[_0, _1, _2], Input] : []) : []) : []) extends [infer _0 extends [unknown, unknown, unknown], infer Input extends string] ? [S.TTemplateLiteralTypesMapping<_0>, Input] : [];
export type TTemplateLiteral = TTemplateLiteralTypes extends [infer _0 extends unknown, infer Input extends string] ? [S.TTemplateLiteralMapping<_0>, Input] : [];
export type TDependent = ((Token.TConst<'if', Input> extends [infer _0, infer Input extends string] ? (TType extends [infer _1, infer Input extends string] ? (Token.TConst<'then', Input> extends [infer _2, infer Input extends string] ? (TType extends [infer _3, infer Input extends string] ? (Token.TConst<'else', Input> extends [infer _4, infer Input extends string] ? (TType extends [infer _5, infer Input extends string] ? [[_0, _1, _2, _3, _4, _5], Input] : []) : []) : []) : []) : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : (Token.TConst<'if', Input> extends [infer _0, infer Input extends string] ? (TType extends [infer _1, infer Input extends string] ? (Token.TConst<'then', Input> extends [infer _2, infer Input extends string] ? (TType extends [infer _3, infer Input extends string] ? [[_0, _1, _2, _3], Input] : []) : []) : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends [unknown, unknown, unknown, unknown, unknown, unknown] | [unknown, unknown, unknown, unknown], infer Input extends string] ? [S.TDependentMapping<_0>, Input] : [];
export type TLiteralBigInt = Token.TBigInt extends [infer _0 extends string, infer Input extends string] ? [S.TLiteralBigIntMapping<_0>, Input] : [];
export type TLiteralBoolean = (Token.TConst<'true', Input> extends [infer _0, infer Input extends string] ? [_0, Input] : Token.TConst<'false', Input> extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends 'true' | 'false', infer Input extends string] ? [S.TLiteralBooleanMapping<_0>, Input] : [];
export type TLiteralNumber = Token.TNumber extends [infer _0 extends string, infer Input extends string] ? [S.TLiteralNumberMapping<_0>, Input] : [];
export type TLiteralString = Token.TString<['\'', '\"'], Input> extends [infer _0 extends string, infer Input extends string] ? [S.TLiteralStringMapping<_0>, Input] : [];
export type TKeyOf = ((Token.TConst<'keyof', Input> extends [infer _0, infer Input extends string] ? [[_0], Input] : []) extends [infer _0, infer Input extends string] ? [_0, Input] : [[], Input] extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends [unknown] | [], infer Input extends string] ? [S.TKeyOfMapping<_0>, Input] : [];
export type TIndexArray_0 = ((Token.TConst<'[', Input> extends [infer _0, infer Input extends string] ? (TType extends [infer _1, infer Input extends string] ? (Token.TConst<']', Input> extends [infer _2, infer Input extends string] ? [[_0, _1, _2], Input] : []) : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : (Token.TConst<'[', Input> extends [infer _0, infer Input extends string] ? (Token.TConst<']', Input> extends [infer _1, infer Input extends string] ? [[_0, _1], Input] : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0, infer Input extends string] ? TIndexArray_0 : [Result, Input];
export type TIndexArray = TIndexArray_0 extends [infer _0 extends ([unknown, unknown, unknown] | [unknown, unknown])[], infer Input extends string] ? [S.TIndexArrayMapping<_0>, Input] : [];
export type TExtends = ((Token.TConst<'extends', Input> extends [infer _0, infer Input extends string] ? (TType extends [infer _1, infer Input extends string] ? (Token.TConst<'?', Input> extends [infer _2, infer Input extends string] ? (TType extends [infer _3, infer Input extends string] ? (Token.TConst<':', Input> extends [infer _4, infer Input extends string] ? (TType extends [infer _5, infer Input extends string] ? [[_0, _1, _2, _3, _4, _5], Input] : []) : []) : []) : []) : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : [[], Input] extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends [unknown, unknown, unknown, unknown, unknown, unknown] | [], infer Input extends string] ? [S.TExtendsMapping<_0>, Input] : [];
export type TBase = ((Token.TConst<'(', Input> extends [infer _0, infer Input extends string] ? (TType extends [infer _1, infer Input extends string] ? (Token.TConst<')', Input> extends [infer _2, infer Input extends string] ? [[_0, _1, _2], Input] : []) : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : TKeywordString extends [infer _0, infer Input extends string] ? [_0, Input] : TKeywordNumber extends [infer _0, infer Input extends string] ? [_0, Input] : TKeywordBoolean extends [infer _0, infer Input extends string] ? [_0, Input] : TKeywordUndefined extends [infer _0, infer Input extends string] ? [_0, Input] : TKeywordNull extends [infer _0, infer Input extends string] ? [_0, Input] : TKeywordInteger extends [infer _0, infer Input extends string] ? [_0, Input] : TKeywordBigInt extends [infer _0, infer Input extends string] ? [_0, Input] : TKeywordUnknown extends [infer _0, infer Input extends string] ? [_0, Input] : TKeywordAny extends [infer _0, infer Input extends string] ? [_0, Input] : TKeywordObject extends [infer _0, infer Input extends string] ? [_0, Input] : TKeywordNever extends [infer _0, infer Input extends string] ? [_0, Input] : TKeywordSymbol extends [infer _0, infer Input extends string] ? [_0, Input] : TKeywordVoid extends [infer _0, infer Input extends string] ? [_0, Input] : TKeywordThis extends [infer _0, infer Input extends string] ? [_0, Input] : TLiteralBigInt extends [infer _0, infer Input extends string] ? [_0, Input] : TLiteralBoolean extends [infer _0, infer Input extends string] ? [_0, Input] : TLiteralNumber extends [infer _0, infer Input extends string] ? [_0, Input] : TLiteralString extends [infer _0, infer Input extends string] ? [_0, Input] : TTemplateLiteral extends [infer _0, infer Input extends string] ? [_0, Input] : TDependent extends [infer _0, infer Input extends string] ? [_0, Input] : T_Object_ extends [infer _0, infer Input extends string] ? [_0, Input] : T_Tuple_ extends [infer _0, infer Input extends string] ? [_0, Input] : T_Constructor_ extends [infer _0, infer Input extends string] ? [_0, Input] : T_Function_ extends [infer _0, infer Input extends string] ? [_0, Input] : T_Mapped_ extends [infer _0, infer Input extends string] ? [_0, Input] : TGenericCall extends [infer _0, infer Input extends string] ? [_0, Input] : TReference extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends [unknown, unknown, unknown] | unknown, infer Input extends string] ? [S.TBaseMapping<_0>, Input] : [];
export type TWith = ((Token.TConst<'with', Input> extends [infer _0, infer Input extends string] ? (TWithObject extends [infer _1, infer Input extends string] ? [[_0, _1], Input] : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : [[], Input] extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends [unknown, unknown] | [], infer Input extends string] ? [S.TWithMapping<_0>, Input] : [];
export type TFactor = (TKeyOf extends [infer _0, infer Input extends string] ? (TBase extends [infer _1, infer Input extends string] ? (TIndexArray extends [infer _2, infer Input extends string] ? (TExtends extends [infer _3, infer Input extends string] ? (TWith extends [infer _4, infer Input extends string] ? [[_0, _1, _2, _3, _4], Input] : []) : []) : []) : []) : []) extends [infer _0 extends [unknown, unknown, unknown, unknown, unknown], infer Input extends string] ? [S.TFactorMapping<_0>, Input] : [];
export type TExprTermTail = ((Token.TConst<'&', Input> extends [infer _0, infer Input extends string] ? (TFactor extends [infer _1, infer Input extends string] ? (TExprTermTail extends [infer _2, infer Input extends string] ? [[_0, _1, _2], Input] : []) : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : [[], Input] extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends [unknown, unknown, unknown] | [], infer Input extends string] ? [S.TExprTermTailMapping<_0>, Input] : [];
export type TExprTerm = (TFactor extends [infer _0, infer Input extends string] ? (TExprTermTail extends [infer _1, infer Input extends string] ? [[_0, _1], Input] : []) : []) extends [infer _0 extends [unknown, unknown], infer Input extends string] ? [S.TExprTermMapping<_0>, Input] : [];
export type TExprTail = ((Token.TConst<'|', Input> extends [infer _0, infer Input extends string] ? (TExprTerm extends [infer _1, infer Input extends string] ? (TExprTail extends [infer _2, infer Input extends string] ? [[_0, _1, _2], Input] : []) : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : [[], Input] extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends [unknown, unknown, unknown] | [], infer Input extends string] ? [S.TExprTailMapping<_0>, Input] : [];
export type TExpr = (TExprTerm extends [infer _0, infer Input extends string] ? (TExprTail extends [infer _1, infer Input extends string] ? [[_0, _1], Input] : []) : []) extends [infer _0 extends [unknown, unknown], infer Input extends string] ? [S.TExprMapping<_0>, Input] : [];
export type TExprReadonly = (Token.TConst<'readonly', Input> extends [infer _0, infer Input extends string] ? (TExpr extends [infer _1, infer Input extends string] ? [[_0, _1], Input] : []) : []) extends [infer _0 extends [unknown, unknown], infer Input extends string] ? [S.TExprReadonlyMapping<_0>, Input] : [];
export type TExprPipe = (Token.TConst<'|', Input> extends [infer _0, infer Input extends string] ? (TExpr extends [infer _1, infer Input extends string] ? [[_0, _1], Input] : []) : []) extends [infer _0 extends [unknown, unknown], infer Input extends string] ? [S.TExprPipeMapping<_0>, Input] : [];
export type TGenericType = (TGenericParameters extends [infer _0, infer Input extends string] ? (Token.TConst<'=', Input> extends [infer _1, infer Input extends string] ? (TType extends [infer _2, infer Input extends string] ? [[_0, _1, _2], Input] : []) : []) : []) extends [infer _0 extends [unknown, unknown, unknown], infer Input extends string] ? [S.TGenericTypeMapping<_0>, Input] : [];
export type TInferType = ((Token.TConst<'infer', Input> extends [infer _0, infer Input extends string] ? (Token.TIdent extends [infer _1, infer Input extends string] ? (Token.TConst<'extends', Input> extends [infer _2, infer Input extends string] ? (TExpr extends [infer _3, infer Input extends string] ? [[_0, _1, _2, _3], Input] : []) : []) : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : (Token.TConst<'infer', Input> extends [infer _0, infer Input extends string] ? (Token.TIdent extends [infer _1, infer Input extends string] ? [[_0, _1], Input] : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends [unknown, unknown, unknown, unknown] | [unknown, unknown], infer Input extends string] ? [S.TInferTypeMapping<_0>, Input] : [];
export type TType = (TInferType extends [infer _0, infer Input extends string] ? [_0, Input] : TExprPipe extends [infer _0, infer Input extends string] ? [_0, Input] : TExprReadonly extends [infer _0, infer Input extends string] ? [_0, Input] : TExpr extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends unknown, infer Input extends string] ? [S.TTypeMapping<_0>, Input] : [];
export type TPropertyKeyNumber = Token.TNumber extends [infer _0 extends string, infer Input extends string] ? [S.TPropertyKeyNumberMapping<_0>, Input] : [];
export type TPropertyKeyIdent = Token.TIdent extends [infer _0 extends string, infer Input extends string] ? [S.TPropertyKeyIdentMapping<_0>, Input] : [];
export type TPropertyKeyQuoted = Token.TString<['\'', '\"'], Input> extends [infer _0 extends string, infer Input extends string] ? [S.TPropertyKeyQuotedMapping<_0>, Input] : [];
export type TPropertyKeyIndex = (Token.TConst<'[', Input> extends [infer _0, infer Input extends string] ? (Token.TIdent extends [infer _1, infer Input extends string] ? (Token.TConst<':', Input> extends [infer _2, infer Input extends string] ? ((TKeywordInteger extends [infer _0, infer Input extends string] ? [_0, Input] : TKeywordNumber extends [infer _0, infer Input extends string] ? [_0, Input] : TKeywordString extends [infer _0, infer Input extends string] ? [_0, Input] : TKeywordSymbol extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _3, infer Input extends string] ? (Token.TConst<']', Input> extends [infer _4, infer Input extends string] ? [[_0, _1, _2, _3, _4], Input] : []) : []) : []) : []) : []) extends [infer _0 extends [unknown, unknown, unknown, unknown, unknown], infer Input extends string] ? [S.TPropertyKeyIndexMapping<_0>, Input] : [];
export type TPropertyKey = (TPropertyKeyNumber extends [infer _0, infer Input extends string] ? [_0, Input] : TPropertyKeyIdent extends [infer _0, infer Input extends string] ? [_0, Input] : TPropertyKeyQuoted extends [infer _0, infer Input extends string] ? [_0, Input] : TPropertyKeyIndex extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends unknown, infer Input extends string] ? [S.TPropertyKeyMapping<_0>, Input] : [];
export type TReadonly = ((Token.TConst<'readonly', Input> extends [infer _0, infer Input extends string] ? [[_0], Input] : []) extends [infer _0, infer Input extends string] ? [_0, Input] : [[], Input] extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends [unknown] | [], infer Input extends string] ? [S.TReadonlyMapping<_0>, Input] : [];
export type TOptional = ((Token.TConst<'?', Input> extends [infer _0, infer Input extends string] ? [[_0], Input] : []) extends [infer _0, infer Input extends string] ? [_0, Input] : [[], Input] extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends [unknown] | [], infer Input extends string] ? [S.TOptionalMapping<_0>, Input] : [];
export type TProperty = (TReadonly extends [infer _0, infer Input extends string] ? (TPropertyKey extends [infer _1, infer Input extends string] ? (TOptional extends [infer _2, infer Input extends string] ? (Token.TConst<':', Input> extends [infer _3, infer Input extends string] ? (TType extends [infer _4, infer Input extends string] ? [[_0, _1, _2, _3, _4], Input] : []) : []) : []) : []) : []) extends [infer _0 extends [unknown, unknown, unknown, unknown, unknown], infer Input extends string] ? [S.TPropertyMapping<_0>, Input] : [];
export type TPropertyDelimiter = ((Token.TConst<',', Input> extends [infer _0, infer Input extends string] ? (Token.TConst<'\n', Input> extends [infer _1, infer Input extends string] ? [[_0, _1], Input] : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : (Token.TConst<';', Input> extends [infer _0, infer Input extends string] ? (Token.TConst<'\n', Input> extends [infer _1, infer Input extends string] ? [[_0, _1], Input] : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : (Token.TConst<',', Input> extends [infer _0, infer Input extends string] ? [[_0], Input] : []) extends [infer _0, infer Input extends string] ? [_0, Input] : (Token.TConst<';', Input> extends [infer _0, infer Input extends string] ? [[_0], Input] : []) extends [infer _0, infer Input extends string] ? [_0, Input] : (Token.TConst<'\n', Input> extends [infer _0, infer Input extends string] ? [[_0], Input] : []) extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends [unknown, unknown] | [unknown], infer Input extends string] ? [S.TPropertyDelimiterMapping<_0>, Input] : [];
export type TPropertyList_0 = (TPropertyDelimiter extends [infer _0, infer Input extends string] ? (TProperty extends [infer _1, infer Input extends string] ? [[_0, _1], Input] : []) : []) extends [infer _0, infer Input extends string] ? TPropertyList_0 : [Result, Input];
export type TPropertyList = ((TProperty extends [infer _0, infer Input extends string] ? (TPropertyList_0 extends [infer _1, infer Input extends string] ? ((TPropertyDelimiter extends [infer _0, infer Input extends string] ? [[_0], Input] : [[], Input]) extends [infer _2, infer Input extends string] ? [[_0, _1, _2], Input] : []) : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : [[], Input] extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends [unknown, unknown, unknown] | [], infer Input extends string] ? [S.TPropertyListMapping<_0>, Input] : [];
export type TProperties = (Token.TConst<'{', Input> extends [infer _0, infer Input extends string] ? (TPropertyList extends [infer _1, infer Input extends string] ? (Token.TConst<'}', Input> extends [infer _2, infer Input extends string] ? [[_0, _1, _2], Input] : []) : []) : []) extends [infer _0 extends [unknown, unknown, unknown], infer Input extends string] ? [S.TPropertiesMapping<_0>, Input] : [];
export type T_Object_ = TProperties extends [infer _0 extends unknown, infer Input extends string] ? [S.T_Object_Mapping<_0>, Input] : [];
export type TElementNamed = ((Token.TIdent extends [infer _0, infer Input extends string] ? (Token.TConst<'?', Input> extends [infer _1, infer Input extends string] ? (Token.TConst<':', Input> extends [infer _2, infer Input extends string] ? (Token.TConst<'readonly', Input> extends [infer _3, infer Input extends string] ? (TType extends [infer _4, infer Input extends string] ? [[_0, _1, _2, _3, _4], Input] : []) : []) : []) : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : (Token.TIdent extends [infer _0, infer Input extends string] ? (Token.TConst<':', Input> extends [infer _1, infer Input extends string] ? (Token.TConst<'readonly', Input> extends [infer _2, infer Input extends string] ? (TType extends [infer _3, infer Input extends string] ? [[_0, _1, _2, _3], Input] : []) : []) : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : (Token.TIdent extends [infer _0, infer Input extends string] ? (Token.TConst<'?', Input> extends [infer _1, infer Input extends string] ? (Token.TConst<':', Input> extends [infer _2, infer Input extends string] ? (TType extends [infer _3, infer Input extends string] ? [[_0, _1, _2, _3], Input] : []) : []) : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : (Token.TIdent extends [infer _0, infer Input extends string] ? (Token.TConst<':', Input> extends [infer _1, infer Input extends string] ? (TType extends [infer _2, infer Input extends string] ? [[_0, _1, _2], Input] : []) : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends [unknown, unknown, unknown, unknown, unknown] | [unknown, unknown, unknown, unknown] | [unknown, unknown, unknown], infer Input extends string] ? [S.TElementNamedMapping<_0>, Input] : [];
export type TElementBase = (TElementNamed extends [infer _0, infer Input extends string] ? [_0, Input] : (TReadonly extends [infer _0, infer Input extends string] ? (TType extends [infer _1, infer Input extends string] ? (TOptional extends [infer _2, infer Input extends string] ? [[_0, _1, _2], Input] : []) : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends unknown | [unknown, unknown, unknown], infer Input extends string] ? [S.TElementBaseMapping<_0>, Input] : [];
export type TElement = ((Token.TConst<'...', Input> extends [infer _0, infer Input extends string] ? (TElementBase extends [infer _1, infer Input extends string] ? [[_0, _1], Input] : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : (TElementBase extends [infer _0, infer Input extends string] ? [[_0], Input] : []) extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends [unknown, unknown] | [unknown], infer Input extends string] ? [S.TElementMapping<_0>, Input] : [];
export type TElementList_0 = (Token.TConst<',', Input> extends [infer _0, infer Input extends string] ? (TElement extends [infer _1, infer Input extends string] ? [[_0, _1], Input] : []) : []) extends [infer _0, infer Input extends string] ? TElementList_0 : [Result, Input];
export type TElementList = ((TElement extends [infer _0, infer Input extends string] ? (TElementList_0 extends [infer _1, infer Input extends string] ? ((Token.TConst<',', Input> extends [infer _0, infer Input extends string] ? [[_0], Input] : [[], Input]) extends [infer _2, infer Input extends string] ? [[_0, _1, _2], Input] : []) : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : [[], Input] extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends [unknown, unknown, unknown] | [], infer Input extends string] ? [S.TElementListMapping<_0>, Input] : [];
export type T_Tuple_ = (Token.TConst<'[', Input> extends [infer _0, infer Input extends string] ? (TElementList extends [infer _1, infer Input extends string] ? (Token.TConst<']', Input> extends [infer _2, infer Input extends string] ? [[_0, _1, _2], Input] : []) : []) : []) extends [infer _0 extends [unknown, unknown, unknown], infer Input extends string] ? [S.T_Tuple_Mapping<_0>, Input] : [];
export type TParameterReadonlyOptional = (Token.TIdent extends [infer _0, infer Input extends string] ? (Token.TConst<'?', Input> extends [infer _1, infer Input extends string] ? (Token.TConst<':', Input> extends [infer _2, infer Input extends string] ? (Token.TConst<'readonly', Input> extends [infer _3, infer Input extends string] ? (TType extends [infer _4, infer Input extends string] ? [[_0, _1, _2, _3, _4], Input] : []) : []) : []) : []) : []) extends [infer _0 extends [unknown, unknown, unknown, unknown, unknown], infer Input extends string] ? [S.TParameterReadonlyOptionalMapping<_0>, Input] : [];
export type TParameterReadonly = (Token.TIdent extends [infer _0, infer Input extends string] ? (Token.TConst<':', Input> extends [infer _1, infer Input extends string] ? (Token.TConst<'readonly', Input> extends [infer _2, infer Input extends string] ? (TType extends [infer _3, infer Input extends string] ? [[_0, _1, _2, _3], Input] : []) : []) : []) : []) extends [infer _0 extends [unknown, unknown, unknown, unknown], infer Input extends string] ? [S.TParameterReadonlyMapping<_0>, Input] : [];
export type TParameterOptional = (Token.TIdent extends [infer _0, infer Input extends string] ? (Token.TConst<'?', Input> extends [infer _1, infer Input extends string] ? (Token.TConst<':', Input> extends [infer _2, infer Input extends string] ? (TType extends [infer _3, infer Input extends string] ? [[_0, _1, _2, _3], Input] : []) : []) : []) : []) extends [infer _0 extends [unknown, unknown, unknown, unknown], infer Input extends string] ? [S.TParameterOptionalMapping<_0>, Input] : [];
export type TParameterType = (Token.TIdent extends [infer _0, infer Input extends string] ? (Token.TConst<':', Input> extends [infer _1, infer Input extends string] ? (TType extends [infer _2, infer Input extends string] ? [[_0, _1, _2], Input] : []) : []) : []) extends [infer _0 extends [unknown, unknown, unknown], infer Input extends string] ? [S.TParameterTypeMapping<_0>, Input] : [];
export type TParameterBase = (TParameterReadonlyOptional extends [infer _0, infer Input extends string] ? [_0, Input] : TParameterReadonly extends [infer _0, infer Input extends string] ? [_0, Input] : TParameterOptional extends [infer _0, infer Input extends string] ? [_0, Input] : TParameterType extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends unknown, infer Input extends string] ? [S.TParameterBaseMapping<_0>, Input] : [];
export type TParameter = ((Token.TConst<'...', Input> extends [infer _0, infer Input extends string] ? (TParameterBase extends [infer _1, infer Input extends string] ? [[_0, _1], Input] : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : (TParameterBase extends [infer _0, infer Input extends string] ? [[_0], Input] : []) extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends [unknown, unknown] | [unknown], infer Input extends string] ? [S.TParameterMapping<_0>, Input] : [];
export type TParameterList_0 = (Token.TConst<',', Input> extends [infer _0, infer Input extends string] ? (TParameter extends [infer _1, infer Input extends string] ? [[_0, _1], Input] : []) : []) extends [infer _0, infer Input extends string] ? TParameterList_0 : [Result, Input];
export type TParameterList = ((TParameter extends [infer _0, infer Input extends string] ? (TParameterList_0 extends [infer _1, infer Input extends string] ? ((Token.TConst<',', Input> extends [infer _0, infer Input extends string] ? [[_0], Input] : [[], Input]) extends [infer _2, infer Input extends string] ? [[_0, _1, _2], Input] : []) : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : [[], Input] extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends [unknown, unknown, unknown] | [], infer Input extends string] ? [S.TParameterListMapping<_0>, Input] : [];
export type T_Function_ = (Token.TConst<'(', Input> extends [infer _0, infer Input extends string] ? (TParameterList extends [infer _1, infer Input extends string] ? (Token.TConst<')', Input> extends [infer _2, infer Input extends string] ? (Token.TConst<'=>', Input> extends [infer _3, infer Input extends string] ? (TType extends [infer _4, infer Input extends string] ? [[_0, _1, _2, _3, _4], Input] : []) : []) : []) : []) : []) extends [infer _0 extends [unknown, unknown, unknown, unknown, unknown], infer Input extends string] ? [S.T_Function_Mapping<_0>, Input] : [];
export type T_Constructor_ = (Token.TConst<'new', Input> extends [infer _0, infer Input extends string] ? (Token.TConst<'(', Input> extends [infer _1, infer Input extends string] ? (TParameterList extends [infer _2, infer Input extends string] ? (Token.TConst<')', Input> extends [infer _3, infer Input extends string] ? (Token.TConst<'=>', Input> extends [infer _4, infer Input extends string] ? (TType extends [infer _5, infer Input extends string] ? [[_0, _1, _2, _3, _4, _5], Input] : []) : []) : []) : []) : []) : []) extends [infer _0 extends [unknown, unknown, unknown, unknown, unknown, unknown], infer Input extends string] ? [S.T_Constructor_Mapping<_0>, Input] : [];
export type TMappedReadonly = ((Token.TConst<'+', Input> extends [infer _0, infer Input extends string] ? (Token.TConst<'readonly', Input> extends [infer _1, infer Input extends string] ? [[_0, _1], Input] : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : (Token.TConst<'-', Input> extends [infer _0, infer Input extends string] ? (Token.TConst<'readonly', Input> extends [infer _1, infer Input extends string] ? [[_0, _1], Input] : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : (Token.TConst<'readonly', Input> extends [infer _0, infer Input extends string] ? [[_0], Input] : []) extends [infer _0, infer Input extends string] ? [_0, Input] : [[], Input] extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends [unknown, unknown] | [unknown] | [], infer Input extends string] ? [S.TMappedReadonlyMapping<_0>, Input] : [];
export type TMappedOptional = ((Token.TConst<'+', Input> extends [infer _0, infer Input extends string] ? (Token.TConst<'?', Input> extends [infer _1, infer Input extends string] ? [[_0, _1], Input] : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : (Token.TConst<'-', Input> extends [infer _0, infer Input extends string] ? (Token.TConst<'?', Input> extends [infer _1, infer Input extends string] ? [[_0, _1], Input] : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : (Token.TConst<'?', Input> extends [infer _0, infer Input extends string] ? [[_0], Input] : []) extends [infer _0, infer Input extends string] ? [_0, Input] : [[], Input] extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends [unknown, unknown] | [unknown] | [], infer Input extends string] ? [S.TMappedOptionalMapping<_0>, Input] : [];
export type TMappedAs = ((Token.TConst<'as', Input> extends [infer _0, infer Input extends string] ? (TType extends [infer _1, infer Input extends string] ? [[_0, _1], Input] : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : [[], Input] extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends [unknown, unknown] | [], infer Input extends string] ? [S.TMappedAsMapping<_0>, Input] : [];
export type T_Mapped_ = (Token.TConst<'{', Input> extends [infer _0, infer Input extends string] ? (TMappedReadonly extends [infer _1, infer Input extends string] ? (Token.TConst<'[', Input> extends [infer _2, infer Input extends string] ? (Token.TIdent extends [infer _3, infer Input extends string] ? (Token.TConst<'in', Input> extends [infer _4, infer Input extends string] ? (TType extends [infer _5, infer Input extends string] ? (TMappedAs extends [infer _6, infer Input extends string] ? (Token.TConst<']', Input> extends [infer _7, infer Input extends string] ? (TMappedOptional extends [infer _8, infer Input extends string] ? (Token.TConst<':', Input> extends [infer _9, infer Input extends string] ? (TType extends [infer _10, infer Input extends string] ? (TOptionalSemiColon extends [infer _11, infer Input extends string] ? (Token.TConst<'}', Input> extends [infer _12, infer Input extends string] ? [[_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12], Input] : []) : []) : []) : []) : []) : []) : []) : []) : []) : []) : []) : []) : []) extends [infer _0 extends [unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown], infer Input extends string] ? [S.T_Mapped_Mapping<_0>, Input] : [];
export type TReference = Token.TIdent extends [infer _0 extends string, infer Input extends string] ? [S.TReferenceMapping<_0>, Input] : [];
export type TWithBigInt = Token.TBigInt extends [infer _0 extends string, infer Input extends string] ? [S.TWithBigIntMapping<_0>, Input] : [];
export type TWithNumber = Token.TNumber extends [infer _0 extends string, infer Input extends string] ? [S.TWithNumberMapping<_0>, Input] : [];
export type TWithBoolean = (Token.TConst<'true', Input> extends [infer _0, infer Input extends string] ? [_0, Input] : Token.TConst<'false', Input> extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends 'true' | 'false', infer Input extends string] ? [S.TWithBooleanMapping<_0>, Input] : [];
export type TWithString = Token.TString<['\"', '\''], Input> extends [infer _0 extends string, infer Input extends string] ? [S.TWithStringMapping<_0>, Input] : [];
export type TWithNull = Token.TConst<'null', Input> extends [infer _0 extends 'null', infer Input extends string] ? [S.TWithNullMapping<_0>, Input] : [];
export type TWithUndefined = Token.TConst<'undefined', Input> extends [infer _0 extends 'undefined', infer Input extends string] ? [S.TWithUndefinedMapping<_0>, Input] : [];
export type TWithProperty = (TPropertyKey extends [infer _0, infer Input extends string] ? (Token.TConst<':', Input> extends [infer _1, infer Input extends string] ? (TWithValue extends [infer _2, infer Input extends string] ? [[_0, _1, _2], Input] : []) : []) : []) extends [infer _0 extends [unknown, unknown, unknown], infer Input extends string] ? [S.TWithPropertyMapping<_0>, Input] : [];
export type TWithPropertyList_0 = (TPropertyDelimiter extends [infer _0, infer Input extends string] ? (TWithProperty extends [infer _1, infer Input extends string] ? [[_0, _1], Input] : []) : []) extends [infer _0, infer Input extends string] ? TWithPropertyList_0 : [Result, Input];
export type TWithPropertyList = ((TWithProperty extends [infer _0, infer Input extends string] ? (TWithPropertyList_0 extends [infer _1, infer Input extends string] ? ((TPropertyDelimiter extends [infer _0, infer Input extends string] ? [[_0], Input] : [[], Input]) extends [infer _2, infer Input extends string] ? [[_0, _1, _2], Input] : []) : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : [[], Input] extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends [unknown, unknown, unknown] | [], infer Input extends string] ? [S.TWithPropertyListMapping<_0>, Input] : [];
export type TWithObject = (Token.TConst<'{', Input> extends [infer _0, infer Input extends string] ? (TWithPropertyList extends [infer _1, infer Input extends string] ? (Token.TConst<'}', Input> extends [infer _2, infer Input extends string] ? [[_0, _1, _2], Input] : []) : []) : []) extends [infer _0 extends [unknown, unknown, unknown], infer Input extends string] ? [S.TWithObjectMapping<_0>, Input] : [];
export type TWithElementList_0 = (Token.TConst<',', Input> extends [infer _0, infer Input extends string] ? (TWithValue extends [infer _1, infer Input extends string] ? [[_0, _1], Input] : []) : []) extends [infer _0, infer Input extends string] ? TWithElementList_0 : [Result, Input];
export type TWithElementList = ((TWithValue extends [infer _0, infer Input extends string] ? (TWithElementList_0 extends [infer _1, infer Input extends string] ? ((Token.TConst<',', Input> extends [infer _0, infer Input extends string] ? [[_0], Input] : [[], Input]) extends [infer _2, infer Input extends string] ? [[_0, _1, _2], Input] : []) : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : [[], Input] extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends [unknown, unknown, unknown] | [], infer Input extends string] ? [S.TWithElementListMapping<_0>, Input] : [];
export type TWithArray = (Token.TConst<'[', Input> extends [infer _0, infer Input extends string] ? (TWithElementList extends [infer _1, infer Input extends string] ? (Token.TConst<']', Input> extends [infer _2, infer Input extends string] ? [[_0, _1, _2], Input] : []) : []) : []) extends [infer _0 extends [unknown, unknown, unknown], infer Input extends string] ? [S.TWithArrayMapping<_0>, Input] : [];
export type TWithValue = (TWithBigInt extends [infer _0, infer Input extends string] ? [_0, Input] : TWithNumber extends [infer _0, infer Input extends string] ? [_0, Input] : TWithBoolean extends [infer _0, infer Input extends string] ? [_0, Input] : TWithString extends [infer _0, infer Input extends string] ? [_0, Input] : TWithNull extends [infer _0, infer Input extends string] ? [_0, Input] : TWithUndefined extends [infer _0, infer Input extends string] ? [_0, Input] : TWithObject extends [infer _0, infer Input extends string] ? [_0, Input] : TWithArray extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends unknown, infer Input extends string] ? [S.TWithValueMapping<_0>, Input] : [];
export type TPatternBigInt = Token.TConst<'-?(?:0|[1-9][0-9]*)n', Input> extends [infer _0 extends '-?(?:0|[1-9][0-9]*)n', infer Input extends string] ? [S.TPatternBigIntMapping<_0>, Input] : [];
export type TPatternString = Token.TConst<'.*', Input> extends [infer _0 extends '.*', infer Input extends string] ? [S.TPatternStringMapping<_0>, Input] : [];
export type TPatternNumber = Token.TConst<'-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?', Input> extends [infer _0 extends '-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?', infer Input extends string] ? [S.TPatternNumberMapping<_0>, Input] : [];
export type TPatternInteger = Token.TConst<'-?(?:0|[1-9][0-9]*)', Input> extends [infer _0 extends '-?(?:0|[1-9][0-9]*)', infer Input extends string] ? [S.TPatternIntegerMapping<_0>, Input] : [];
export type TPatternNever = Token.TConst<'(?!)', Input> extends [infer _0 extends '(?!)', infer Input extends string] ? [S.TPatternNeverMapping<_0>, Input] : [];
export type TPatternText = Token.TUntil_1<['-?(?:0|[1-9][0-9]*)n', '.*', '-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?', '-?(?:0|[1-9][0-9]*)', '(?!)', '(', ')', '$', '|'], Input> extends [infer _0 extends string, infer Input extends string] ? [S.TPatternTextMapping<_0>, Input] : [];
export type TPatternBase = (TPatternBigInt extends [infer _0, infer Input extends string] ? [_0, Input] : TPatternString extends [infer _0, infer Input extends string] ? [_0, Input] : TPatternNumber extends [infer _0, infer Input extends string] ? [_0, Input] : TPatternInteger extends [infer _0, infer Input extends string] ? [_0, Input] : TPatternNever extends [infer _0, infer Input extends string] ? [_0, Input] : TPatternGroup extends [infer _0, infer Input extends string] ? [_0, Input] : TPatternText extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends unknown, infer Input extends string] ? [S.TPatternBaseMapping<_0>, Input] : [];
export type TPatternGroup = (Token.TConst<'(', Input> extends [infer _0, infer Input extends string] ? (TPatternBody extends [infer _1, infer Input extends string] ? (Token.TConst<')', Input> extends [infer _2, infer Input extends string] ? [[_0, _1, _2], Input] : []) : []) : []) extends [infer _0 extends [unknown, unknown, unknown], infer Input extends string] ? [S.TPatternGroupMapping<_0>, Input] : [];
export type TPatternUnion = ((TPatternTerm extends [infer _0, infer Input extends string] ? (Token.TConst<'|', Input> extends [infer _1, infer Input extends string] ? (TPatternUnion extends [infer _2, infer Input extends string] ? [[_0, _1, _2], Input] : []) : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : (TPatternTerm extends [infer _0, infer Input extends string] ? [[_0], Input] : []) extends [infer _0, infer Input extends string] ? [_0, Input] : [[], Input] extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends [unknown, unknown, unknown] | [unknown] | [], infer Input extends string] ? [S.TPatternUnionMapping<_0>, Input] : [];
export type TPatternTerm = (TPatternBase extends [infer _0, infer Input extends string] ? (TPatternBody extends [infer _1, infer Input extends string] ? [[_0, _1], Input] : []) : []) extends [infer _0 extends [unknown, unknown], infer Input extends string] ? [S.TPatternTermMapping<_0>, Input] : [];
export type TPatternBody = (TPatternUnion extends [infer _0, infer Input extends string] ? [_0, Input] : TPatternTerm extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends unknown, infer Input extends string] ? [S.TPatternBodyMapping<_0>, Input] : [];
export type TPattern = (Token.TConst<'^', Input> extends [infer _0, infer Input extends string] ? (TPatternBody extends [infer _1, infer Input extends string] ? (Token.TConst<'$', Input> extends [infer _2, infer Input extends string] ? [[_0, _1, _2], Input] : []) : []) : []) extends [infer _0 extends [unknown, unknown, unknown], infer Input extends string] ? [S.TPatternMapping<_0>, Input] : [];
export type TInterfaceDeclarationHeritageList_0 = (Token.TConst<',', Input> extends [infer _0, infer Input extends string] ? (TType extends [infer _1, infer Input extends string] ? [[_0, _1], Input] : []) : []) extends [infer _0, infer Input extends string] ? TInterfaceDeclarationHeritageList_0 : [Result, Input];
export type TInterfaceDeclarationHeritageList = ((TType extends [infer _0, infer Input extends string] ? (TInterfaceDeclarationHeritageList_0 extends [infer _1, infer Input extends string] ? ((Token.TConst<',', Input> extends [infer _0, infer Input extends string] ? [[_0], Input] : [[], Input]) extends [infer _2, infer Input extends string] ? [[_0, _1, _2], Input] : []) : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : [[], Input] extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends [unknown, unknown, unknown] | [], infer Input extends string] ? [S.TInterfaceDeclarationHeritageListMapping<_0>, Input] : [];
export type TInterfaceDeclarationHeritage = ((Token.TConst<'extends', Input> extends [infer _0, infer Input extends string] ? (TInterfaceDeclarationHeritageList extends [infer _1, infer Input extends string] ? [[_0, _1], Input] : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : [[], Input] extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends [unknown, unknown] | [], infer Input extends string] ? [S.TInterfaceDeclarationHeritageMapping<_0>, Input] : [];
export type TInterfaceDeclarationGeneric = (Token.TConst<'interface', Input> extends [infer _0, infer Input extends string] ? (Token.TIdent extends [infer _1, infer Input extends string] ? (TGenericParameters extends [infer _2, infer Input extends string] ? (TInterfaceDeclarationHeritage extends [infer _3, infer Input extends string] ? (TProperties extends [infer _4, infer Input extends string] ? [[_0, _1, _2, _3, _4], Input] : []) : []) : []) : []) : []) extends [infer _0 extends [unknown, unknown, unknown, unknown, unknown], infer Input extends string] ? [S.TInterfaceDeclarationGenericMapping<_0>, Input] : [];
export type TInterfaceDeclaration = (Token.TConst<'interface', Input> extends [infer _0, infer Input extends string] ? (Token.TIdent extends [infer _1, infer Input extends string] ? (TInterfaceDeclarationHeritage extends [infer _2, infer Input extends string] ? (TProperties extends [infer _3, infer Input extends string] ? [[_0, _1, _2, _3], Input] : []) : []) : []) : []) extends [infer _0 extends [unknown, unknown, unknown, unknown], infer Input extends string] ? [S.TInterfaceDeclarationMapping<_0>, Input] : [];
export type TTypeAliasDeclarationGeneric = (Token.TConst<'type', Input> extends [infer _0, infer Input extends string] ? (Token.TIdent extends [infer _1, infer Input extends string] ? (TGenericParameters extends [infer _2, infer Input extends string] ? (Token.TConst<'=', Input> extends [infer _3, infer Input extends string] ? (TType extends [infer _4, infer Input extends string] ? [[_0, _1, _2, _3, _4], Input] : []) : []) : []) : []) : []) extends [infer _0 extends [unknown, unknown, unknown, unknown, unknown], infer Input extends string] ? [S.TTypeAliasDeclarationGenericMapping<_0>, Input] : [];
export type TTypeAliasDeclaration = (Token.TConst<'type', Input> extends [infer _0, infer Input extends string] ? (Token.TIdent extends [infer _1, infer Input extends string] ? (Token.TConst<'=', Input> extends [infer _2, infer Input extends string] ? (TType extends [infer _3, infer Input extends string] ? [[_0, _1, _2, _3], Input] : []) : []) : []) : []) extends [infer _0 extends [unknown, unknown, unknown, unknown], infer Input extends string] ? [S.TTypeAliasDeclarationMapping<_0>, Input] : [];
export type TExportKeyword = ((Token.TConst<'export', Input> extends [infer _0, infer Input extends string] ? [[_0], Input] : []) extends [infer _0, infer Input extends string] ? [_0, Input] : [[], Input] extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends [unknown] | [], infer Input extends string] ? [S.TExportKeywordMapping<_0>, Input] : [];
export type TModuleDeclarationDelimiter = ((Token.TConst<';', Input> extends [infer _0, infer Input extends string] ? (Token.TConst<'\n', Input> extends [infer _1, infer Input extends string] ? [[_0, _1], Input] : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : (Token.TConst<';', Input> extends [infer _0, infer Input extends string] ? [[_0], Input] : []) extends [infer _0, infer Input extends string] ? [_0, Input] : (Token.TConst<'\n', Input> extends [infer _0, infer Input extends string] ? [[_0], Input] : []) extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends [unknown, unknown] | [unknown], infer Input extends string] ? [S.TModuleDeclarationDelimiterMapping<_0>, Input] : [];
export type TModuleDeclarationList_0 = (TModuleDeclarationDelimiter extends [infer _0, infer Input extends string] ? (TModuleDeclaration extends [infer _1, infer Input extends string] ? [[_0, _1], Input] : []) : []) extends [infer _0, infer Input extends string] ? TModuleDeclarationList_0 : [Result, Input];
export type TModuleDeclarationList = ((TModuleDeclaration extends [infer _0, infer Input extends string] ? (TModuleDeclarationList_0 extends [infer _1, infer Input extends string] ? ((TModuleDeclarationDelimiter extends [infer _0, infer Input extends string] ? [[_0], Input] : [[], Input]) extends [infer _2, infer Input extends string] ? [[_0, _1, _2], Input] : []) : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : [[], Input] extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends [unknown, unknown, unknown] | [], infer Input extends string] ? [S.TModuleDeclarationListMapping<_0>, Input] : [];
export type TModuleDeclaration = (TExportKeyword extends [infer _0, infer Input extends string] ? ((TInterfaceDeclarationGeneric extends [infer _0, infer Input extends string] ? [_0, Input] : TInterfaceDeclaration extends [infer _0, infer Input extends string] ? [_0, Input] : TTypeAliasDeclarationGeneric extends [infer _0, infer Input extends string] ? [_0, Input] : TTypeAliasDeclaration extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _1, infer Input extends string] ? (TOptionalSemiColon extends [infer _2, infer Input extends string] ? [[_0, _1, _2], Input] : []) : []) : []) extends [infer _0 extends [unknown, unknown, unknown], infer Input extends string] ? [S.TModuleDeclarationMapping<_0>, Input] : [];
export type TModule = (TModuleDeclaration extends [infer _0, infer Input extends string] ? (TModuleDeclarationList extends [infer _1, infer Input extends string] ? [[_0, _1], Input] : []) : []) extends [infer _0 extends [unknown, unknown], infer Input extends string] ? [S.TModuleMapping<_0>, Input] : [];
export type TScript = (TModule extends [infer _0, infer Input extends string] ? [_0, Input] : TGenericType extends [infer _0, infer Input extends string] ? [_0, Input] : TType extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends unknown, infer Input extends string] ? [S.TScriptMapping<_0>, Input] : [];
export declare const GenericParameterExtendsEquals: (input: string) => [unknown, string] | [];
export declare const GenericParameterExtends: (input: string) => [unknown, string] | [];
export declare const GenericParameterEquals: (input: string) => [unknown, string] | [];
export declare const GenericParameterIdentifier: (input: string) => [unknown, string] | [];
export declare const GenericParameter: (input: string) => [unknown, string] | [];
export declare const GenericParameterList_0: (input: string, result?: unknown[]) => [unknown[], string];
export declare const GenericParameterList: (input: string) => [unknown, string] | [];
export declare const GenericParameters: (input: string) => [unknown, string] | [];
export declare const GenericCallArgumentList_0: (input: string, result?: unknown[]) => [unknown[], string];
export declare const GenericCallArgumentList: (input: string) => [unknown, string] | [];
export declare const GenericCallArguments: (input: string) => [unknown, string] | [];
export declare const GenericCall: (input: string) => [unknown, string] | [];
export declare const OptionalSemiColon: (input: string) => [unknown, string] | [];
export declare const KeywordString: (input: string) => [unknown, string] | [];
export declare const KeywordNumber: (input: string) => [unknown, string] | [];
export declare const KeywordBoolean: (input: string) => [unknown, string] | [];
export declare const KeywordUndefined: (input: string) => [unknown, string] | [];
export declare const KeywordNull: (input: string) => [unknown, string] | [];
export declare const KeywordInteger: (input: string) => [unknown, string] | [];
export declare const KeywordBigInt: (input: string) => [unknown, string] | [];
export declare const KeywordUnknown: (input: string) => [unknown, string] | [];
export declare const KeywordAny: (input: string) => [unknown, string] | [];
export declare const KeywordObject: (input: string) => [unknown, string] | [];
export declare const KeywordNever: (input: string) => [unknown, string] | [];
export declare const KeywordSymbol: (input: string) => [unknown, string] | [];
export declare const KeywordVoid: (input: string) => [unknown, string] | [];
export declare const KeywordThis: (input: string) => [unknown, string] | [];
export declare const TemplateInterpolate: (input: string) => [unknown, string] | [];
export declare const TemplateSpan: (input: string) => [unknown, string] | [];
export declare const TemplateBody: (input: string) => [unknown, string] | [];
export declare const TemplateLiteralTypes: (input: string) => [unknown, string] | [];
export declare const TemplateLiteral: (input: string) => [unknown, string] | [];
export declare const Dependent: (input: string) => [unknown, string] | [];
export declare const LiteralBigInt: (input: string) => [unknown, string] | [];
export declare const LiteralBoolean: (input: string) => [unknown, string] | [];
export declare const LiteralNumber: (input: string) => [unknown, string] | [];
export declare const LiteralString: (input: string) => [unknown, string] | [];
export declare const KeyOf: (input: string) => [unknown, string] | [];
export declare const IndexArray_0: (input: string, result?: unknown[]) => [unknown[], string];
export declare const IndexArray: (input: string) => [unknown, string] | [];
export declare const Extends: (input: string) => [unknown, string] | [];
export declare const Base: (input: string) => [unknown, string] | [];
export declare const With: (input: string) => [unknown, string] | [];
export declare const Factor: (input: string) => [unknown, string] | [];
export declare const ExprTermTail: (input: string) => [unknown, string] | [];
export declare const ExprTerm: (input: string) => [unknown, string] | [];
export declare const ExprTail: (input: string) => [unknown, string] | [];
export declare const Expr: (input: string) => [unknown, string] | [];
export declare const ExprReadonly: (input: string) => [unknown, string] | [];
export declare const ExprPipe: (input: string) => [unknown, string] | [];
export declare const GenericType: (input: string) => [unknown, string] | [];
export declare const InferType: (input: string) => [unknown, string] | [];
export declare const Type: (input: string) => [unknown, string] | [];
export declare const PropertyKeyNumber: (input: string) => [unknown, string] | [];
export declare const PropertyKeyIdent: (input: string) => [unknown, string] | [];
export declare const PropertyKeyQuoted: (input: string) => [unknown, string] | [];
export declare const PropertyKeyIndex: (input: string) => [unknown, string] | [];
export declare const PropertyKey: (input: string) => [unknown, string] | [];
export declare const Readonly: (input: string) => [unknown, string] | [];
export declare const Optional: (input: string) => [unknown, string] | [];
export declare const Property: (input: string) => [unknown, string] | [];
export declare const PropertyDelimiter: (input: string) => [unknown, string] | [];
export declare const PropertyList_0: (input: string, result?: unknown[]) => [unknown[], string];
export declare const PropertyList: (input: string) => [unknown, string] | [];
export declare const Properties: (input: string) => [unknown, string] | [];
export declare const _Object_: (input: string) => [unknown, string] | [];
export declare const ElementNamed: (input: string) => [unknown, string] | [];
export declare const ElementBase: (input: string) => [unknown, string] | [];
export declare const Element: (input: string) => [unknown, string] | [];
export declare const ElementList_0: (input: string, result?: unknown[]) => [unknown[], string];
export declare const ElementList: (input: string) => [unknown, string] | [];
export declare const _Tuple_: (input: string) => [unknown, string] | [];
export declare const ParameterReadonlyOptional: (input: string) => [unknown, string] | [];
export declare const ParameterReadonly: (input: string) => [unknown, string] | [];
export declare const ParameterOptional: (input: string) => [unknown, string] | [];
export declare const ParameterType: (input: string) => [unknown, string] | [];
export declare const ParameterBase: (input: string) => [unknown, string] | [];
export declare const Parameter: (input: string) => [unknown, string] | [];
export declare const ParameterList_0: (input: string, result?: unknown[]) => [unknown[], string];
export declare const ParameterList: (input: string) => [unknown, string] | [];
export declare const _Function_: (input: string) => [unknown, string] | [];
export declare const _Constructor_: (input: string) => [unknown, string] | [];
export declare const MappedReadonly: (input: string) => [unknown, string] | [];
export declare const MappedOptional: (input: string) => [unknown, string] | [];
export declare const MappedAs: (input: string) => [unknown, string] | [];
export declare const _Mapped_: (input: string) => [unknown, string] | [];
export declare const Reference: (input: string) => [unknown, string] | [];
export declare const WithBigInt: (input: string) => [unknown, string] | [];
export declare const WithNumber: (input: string) => [unknown, string] | [];
export declare const WithBoolean: (input: string) => [unknown, string] | [];
export declare const WithString: (input: string) => [unknown, string] | [];
export declare const WithNull: (input: string) => [unknown, string] | [];
export declare const WithUndefined: (input: string) => [unknown, string] | [];
export declare const WithProperty: (input: string) => [unknown, string] | [];
export declare const WithPropertyList_0: (input: string, result?: unknown[]) => [unknown[], string];
export declare const WithPropertyList: (input: string) => [unknown, string] | [];
export declare const WithObject: (input: string) => [unknown, string] | [];
export declare const WithElementList_0: (input: string, result?: unknown[]) => [unknown[], string];
export declare const WithElementList: (input: string) => [unknown, string] | [];
export declare const WithArray: (input: string) => [unknown, string] | [];
export declare const WithValue: (input: string) => [unknown, string] | [];
export declare const PatternBigInt: (input: string) => [unknown, string] | [];
export declare const PatternString: (input: string) => [unknown, string] | [];
export declare const PatternNumber: (input: string) => [unknown, string] | [];
export declare const PatternInteger: (input: string) => [unknown, string] | [];
export declare const PatternNever: (input: string) => [unknown, string] | [];
export declare const PatternText: (input: string) => [unknown, string] | [];
export declare const PatternBase: (input: string) => [unknown, string] | [];
export declare const PatternGroup: (input: string) => [unknown, string] | [];
export declare const PatternUnion: (input: string) => [unknown, string] | [];
export declare const PatternTerm: (input: string) => [unknown, string] | [];
export declare const PatternBody: (input: string) => [unknown, string] | [];
export declare const Pattern: (input: string) => [unknown, string] | [];
export declare const InterfaceDeclarationHeritageList_0: (input: string, result?: unknown[]) => [unknown[], string];
export declare const InterfaceDeclarationHeritageList: (input: string) => [unknown, string] | [];
export declare const InterfaceDeclarationHeritage: (input: string) => [unknown, string] | [];
export declare const InterfaceDeclarationGeneric: (input: string) => [unknown, string] | [];
export declare const InterfaceDeclaration: (input: string) => [unknown, string] | [];
export declare const TypeAliasDeclarationGeneric: (input: string) => [unknown, string] | [];
export declare const TypeAliasDeclaration: (input: string) => [unknown, string] | [];
export declare const ExportKeyword: (input: string) => [unknown, string] | [];
export declare const ModuleDeclarationDelimiter: (input: string) => [unknown, string] | [];
export declare const ModuleDeclarationList_0: (input: string, result?: unknown[]) => [unknown[], string];
export declare const ModuleDeclarationList: (input: string) => [unknown, string] | [];
export declare const ModuleDeclaration: (input: string) => [unknown, string] | [];
export declare const Module: (input: string) => [unknown, string] | [];
export declare const Script: (input: string) => [unknown, string] | [];