/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { BasicToken } from "./Token.js";
/**
 * DSL lexer.
 *
 * Tokenizes simple text dialects.  Currently sufficient for Matter conformance and constraint tokenization.
 */
export declare class Lexer<T extends BasicToken<KW>, const KW extends readonly string[] = []> {
    #private;
    constructor(keywords?: KW);
    lex(text: string, error: (code: string, message: string) => void): Iterator<T>;
}
export declare namespace Lexer {
    const Basic: Lexer<BasicToken<[]>, []>;
}
//# sourceMappingURL=Lexer.d.ts.map