interface ImmObject {
    equals(other: ImmObject): boolean;
    hashCode(): number;
}
declare abstract class KeyType implements ImmObject {
    abstract get str(): string;
    equals(other: ImmObject): boolean;
    hashCode(): number;
    toString(): string;
}
export declare function checkMetaString(thing: string, input: string, length: number): void;
export declare class ValueKey extends KeyType {
    readonly _prefix: string;
    readonly _section: string | undefined;
    readonly _name: string;
    type: "full";
    constructor(_prefix: string, _section: string | undefined, _name: string);
    get metaType(): "core" | "label" | "comment" | "annotation";
    get suffix(): string;
    get str(): string;
    get parent(): SectionKey | null;
    section(section: string | SectionKey): ValueKey;
}
export declare class SectionKey extends KeyType {
    readonly _section: string;
    type: "heading";
    constructor(_section: string);
    get str(): string;
}
export type SomeKey = ValueKey | SectionKey;
export {};
//# sourceMappingURL=repr.d.ts.map