/*******************************************************************************
 * Copyright (c) 2023-2026 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 { XMLElement } from "./XMLElement.js";
export declare class Catalog {
    systemCatalog: Map<string, string>;
    publicCatalog: Map<string, string>;
    uriCatalog: Map<string, string>;
    dtdCatalog: Map<string, string>;
    systemSuffixCatalog: Map<string, string>;
    uriSuffixCatalog: Map<string, string>;
    uriRewrites: Array<string[]>;
    systemRewrites: Array<string[]>;
    delegatePublicEntries: Array<string[]>;
    delegateSystemEntries: Array<string[]>;
    delegateURIEntries: Array<string[]>;
    workDir: string;
    base: string;
    prefer: string;
    visitedCatalogs: Set<string>;
    constructor(catalogFile: string, visitedCatalogs?: Set<string>);
    recurse(catalogRoot: XMLElement): void;
    makeAbsolute(uri: string): string;
    unwrapUrn(urn: string): string;
    getSystemCatalog(): Map<string, string>;
    getPublicCatalog(): Map<string, string>;
    getUriCatalog(): Map<string, string>;
    getDtdCatalog(): Map<string, string>;
    getSystemSuffixCatalog(): Map<string, string>;
    getUriSuffixCatalog(): Map<string, string>;
    getUriRewrites(): Array<string[]>;
    getSystemRewrites(): Array<string[]>;
    getDelegatePublicEntries(): Array<string[]>;
    getDelegateSystemEntries(): Array<string[]>;
    getDelegateURIEntries(): Array<string[]>;
    resolveEntity(publicId: string, systemId: string): string | undefined;
    matchSystem(systemId: string): string | undefined;
    matchPublic(publicId: string): string | undefined;
    matchURI(uri: string): string | undefined;
}
