import { type CssTriviaVisitor } from './trivia-css-scanner.ts'; import type { LabeledTriviaSpec } from './trivia-kinds.ts'; export type TriviaArmMatcher = (input: string, pos: number) => number; /** A direct classified scanner for the four canonical CSS/Less trivia tuples. */ export declare function commonLabeledTriviaVisitor(spec: LabeledTriviaSpec): CssTriviaVisitor | null; /** * The character-level matchers for a spec's arms — index-parallel to `spec.arms`, * so a matcher's index IS its kind index — or `null` when any arm has no lowering. * * `spec.minRepeats > 1` is excluded: the loops below report only an END, and a run * that fails a minimum of two must report NOTHING. `classifiedTrivia()` never * produces one, and the combinator path still handles it if a host writes one. */ export declare function charArmsFor(spec: LabeledTriviaSpec): readonly TriviaArmMatcher[] | null; /** End of the trivia run at `cur`, or `cur` when nothing matched. */ export declare function charTriviaEnd(input: string, cur: number, arms: readonly TriviaArmMatcher[]): number; /** As `charTriviaEnd`, reporting each chunk with the kind index that matched it. */ export declare function charTriviaVisit(input: string, cur: number, arms: readonly TriviaArmMatcher[], visit: (start: number, end: number, kindIndex: number) => void): number; /** The `1 << kindIndex` mask of the categories in the run at `cur`. */ export declare function charTriviaKindMask(input: string, cur: number, arms: readonly TriviaArmMatcher[]): number; //# sourceMappingURL=trivia-charscan.d.ts.map