import { S as Substract } from './chunks/CM89_aaq.js'; import './BooleanNor.js'; import './BooleanNot.js'; import './BooleanOr.js'; import './Tuple.js'; import './chunks/DZEfmVOc.js'; import './BooleanAnd.js'; import './MaybeReadonly.js'; import './TupleLength.js'; /** * Literal string constrained by character and length. * * @template C Character constraint. * @template L Length constraint. * @template P Prepended string. Used internally for recursion. * @returns String constrained by character and length. * @example StringConstraint<'a' | 'b', 1 | 2> // 'a' | 'b' | 'aa' | 'ab' | 'ba' | 'bb' */ type StringConstraint = string extends C ? string : number extends L ? string : `${L}` extends `-${number}` ? never : L extends 0 ? P : `${P}${C}${StringConstraint>}`; export type { StringConstraint };