import { DrainOuterGeneric } from '../util/type-utils.js'; import { ExtractTypeFromReferenceExpression } from './reference-parser.js'; import { ExtractTypeFromValueExpression } from './value-parser.js'; export type RefTuple2 = DrainOuterGeneric<[ ExtractTypeFromReferenceExpression, ExtractTypeFromReferenceExpression ]>; export type RefTuple3 = DrainOuterGeneric<[ ExtractTypeFromReferenceExpression, ExtractTypeFromReferenceExpression, ExtractTypeFromReferenceExpression ]>; export type RefTuple4 = DrainOuterGeneric<[ ExtractTypeFromReferenceExpression, ExtractTypeFromReferenceExpression, ExtractTypeFromReferenceExpression, ExtractTypeFromReferenceExpression ]>; export type RefTuple5 = DrainOuterGeneric<[ ExtractTypeFromReferenceExpression, ExtractTypeFromReferenceExpression, ExtractTypeFromReferenceExpression, ExtractTypeFromReferenceExpression, ExtractTypeFromReferenceExpression ]>; export type ValTuple2 = DrainOuterGeneric<[ ExtractTypeFromValueExpression, ExtractTypeFromValueExpression ]>; export type ValTuple3 = DrainOuterGeneric<[ ExtractTypeFromValueExpression, ExtractTypeFromValueExpression, ExtractTypeFromValueExpression ]>; export type ValTuple4 = DrainOuterGeneric<[ ExtractTypeFromValueExpression, ExtractTypeFromValueExpression, ExtractTypeFromValueExpression, ExtractTypeFromValueExpression ]>; export type ValTuple5 = DrainOuterGeneric<[ ExtractTypeFromValueExpression, ExtractTypeFromValueExpression, ExtractTypeFromValueExpression, ExtractTypeFromValueExpression, ExtractTypeFromValueExpression ]>;