import type { VFile } from 'vfile';
import type { FrontmatterParts, GenericNode, GenericParent, References } from 'myst-common';
import type { PageFrontmatter } from 'myst-frontmatter';
import type { CrossReference, Dependency, Link, SourceFileKind } from 'myst-spec-ext';
import type { ISession } from '../session/types.js';
import type { SiteAction, SiteExport } from 'myst-config';
export declare const XREF_MAX_AGE = 1;
export type MystData = {
    version: number;
    kind?: SourceFileKind;
    sha256?: string;
    slug?: string;
    location?: string;
    dependencies?: Dependency[];
    frontmatter?: Omit<PageFrontmatter, 'downloads' | 'exports' | 'parts'> & {
        downloads?: SiteAction[];
        exports?: [{
            format: string;
            filename: string;
            url: string;
        }, ...SiteExport[]];
        parts?: FrontmatterParts;
    };
    widgets?: Record<string, any>;
    mdast?: GenericParent;
    references?: References;
};
export declare function fetchMystLinkData(session: ISession, node: Link, vfile: VFile): Promise<MystData | undefined>;
export declare function fetchMystXRefData(session: ISession, node: CrossReference, vfile: VFile): Promise<MystData | undefined>;
export declare function nodesFromMystXRefData(data: MystData, identifier: string, vfile: VFile, opts?: {
    maxNodes?: number;
    urlSource?: string;
}): GenericNode[] | undefined;
/**
 * Load external MyST project data to update link text for MyST xrefs
 */
export declare function transformMystXRefs(session: ISession, vfile: VFile, mdast: GenericParent, frontmatter: PageFrontmatter): Promise<void>;
//# sourceMappingURL=crossReferences.d.ts.map