import { Supernova } from "../../core/SDKSupernova";
import { DocumentationLegacyGroup } from "../../model/documentation/SDKDocumentationLegacyGroup";
import { DocumentationLegacyPage } from "../../model/documentation/SDKDocumentationLegacyPage";
import { MarkdownTransformBlockConfig } from "./SDKToolsMarkdownTransformBlock";
/** Utility class for resolving links in markdown transformation */
export declare class MarkdownLinkResolver {
    private documentationData;
    private config;
    private sdkInstance;
    private designSystemId;
    private versionId;
    private cachedDocumentationBaseUrl;
    constructor(documentationData: {
        rootGroup: DocumentationLegacyGroup;
        allPages: Array<DocumentationLegacyPage>;
        allGroups: Array<DocumentationLegacyGroup>;
    }, config: MarkdownTransformBlockConfig, sdkInstance: Supernova, designSystemId: string, versionId: string);
    /**
     * Resolves a link based on external URL or internal documentation item ID
     * @param externalUrl - Direct external URL if available
     * @param documentationItemId - Internal documentation item ID if available
     * @param pageContext - Current page context for relative path resolution
     * @returns Promise<string> - Resolved URL
     */
    resolveLink(externalUrl: string | null, documentationItemId: string | null, pageContext: DocumentationLegacyPage): Promise<string>;
    /**
     * Generates relative path from current page to target page
     * @param targetPage - Page to link to
     * @param currentPage - Current page context
     * @returns string - Relative path
     */
    private relativePathToPage;
    /**
     * Retrieves the base documentation URL for deployed documentation
     * Uses caching to avoid repeated API calls
     * @returns string | null - Base documentation URL or null if not available
     */
    private getDocumentationBaseUrl;
}
