/*******************************************************************************
 * Copyright (c) 2023 - 2024 Maxprograms.
 *
 * This program and the accompanying materials
 * are made available under the terms of the Eclipse   License 1.0
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/org/documents/epl-v10.html
 *
 * Contributors:
 *     Maxprograms - initial API and implementation
 *******************************************************************************/
import { AttDecl } from "../dtd/AttDecl";
import { ElementDecl } from "../dtd/ElementDecl";
import { EntityDecl } from "../dtd/EntityDecl";
import { NotationDecl } from "../dtd/NotationDecl";
import { ContentModel } from "./ContentModel";
export declare class Grammar {
    private models;
    private entitiesMap;
    private attributesMap;
    private elementDeclMap;
    private notationsMap;
    constructor();
    addPredefinedEntities(): void;
    getContentModel(elementName: string): ContentModel;
    toString(): string;
    addElement(elementDecl: ElementDecl): void;
    addAttributes(element: string, attributes: Map<string, AttDecl>): void;
    resolveParameterEntities(text: string): string;
    addEntity(entityDecl: EntityDecl): void;
    getEntity(entityName: string): EntityDecl;
    addNotation(notation: NotationDecl): void;
    merge(grammar: Grammar): void;
    getNotationsMap(): Map<string, NotationDecl>;
    getElementDeclMap(): Map<string, ElementDecl>;
    getEntitiesMap(): Map<string, EntityDecl>;
    processModels(): void;
    getAttributesMap(): Map<string, Map<string, AttDecl>>;
    getElementAttributesMap(element: string): Map<string, AttDecl>;
}
