import { Lexer } from './lexer.js';
import { type KeyFormatter } from '../key-formatter.js';
import { type Node } from './node.js';
export declare class Forest {
    readonly lexer: Lexer;
    readonly formatter: KeyFormatter;
    private constructor();
    static from(data: Map<string, string>, formatter?: KeyFormatter): Forest;
    static fromLexer(lexer: Lexer, formatter?: KeyFormatter): Forest;
    has(key: string): boolean;
    valueFor(key: string): string;
    nodeFor(key: string): Node;
    addOrReplaceValue(key: string, value: string | null): void;
    addOrReplaceObject(key: string, value: object | null): void;
    addOrReplaceArray<T>(key: string, values: T[] | null): void;
    toObject(): object;
    toFlatMap(): Map<string, string>;
}
