import { type TTake } from './take'; type TIsDiscard = (Discard extends [infer Left extends string, ...infer Right extends string[]] ? Input extends Left ? true : TIsDiscard : false); /** Takes characters from the Input until no-match. The Discard set is used to omit characters from the match */ export type TMany = (TTake extends [infer Char extends string, infer Rest extends string] ? TIsDiscard extends true ? TMany : TMany : [Result, Input]); /** Takes characters from the Input until no-match. The Discard set is used to omit characters from the match */ export declare function Many(allowed: [...Allowed], discard: [...Discard], input: Input, result?: string): TMany; export {};