import type { GenericParent } from 'myst-common';
import type { PageFrontmatter } from 'myst-frontmatter';
import type { LinkTransformer, ReferenceState } from 'myst-transforms';
import type { ISession } from '../session/types.js';
import type { ImageExtensions } from '../utils/resolveExtension.js';
export type TransformFn = (session: ISession, opts: Parameters<typeof transformMdast>[1]) => Promise<void>;
export declare function transformMdast(session: ISession, opts: {
    file: string;
    projectPath?: string;
    projectSlug?: string;
    pageSlug?: string;
    imageExtensions?: ImageExtensions[];
    watchMode?: boolean;
    execute?: boolean;
    extraTransforms?: TransformFn[];
    minifyMaxCharacters?: number;
    index?: string;
    titleDepth?: number;
    offset?: number;
}): Promise<void>;
export declare function postProcessMdast(session: ISession, { file, checkLinks, pageReferenceStates, extraLinkTransformers, site, }: {
    file: string;
    checkLinks?: boolean;
    pageReferenceStates: ReferenceState[];
    extraLinkTransformers?: LinkTransformer[];
    site?: boolean;
}): Promise<void>;
export declare function finalizeMdast(session: ISession, mdast: GenericParent, frontmatter: PageFrontmatter, file: string, { imageWriteFolder, useExistingImages, imageAltOutputFolder, imageExtensions, optimizeWebp, simplifyFigures, processThumbnail, maxSizeWebp, }: {
    imageWriteFolder: string;
    useExistingImages?: boolean;
    imageAltOutputFolder?: string;
    imageExtensions?: ImageExtensions[];
    optimizeWebp?: boolean;
    simplifyFigures?: boolean;
    processThumbnail?: boolean;
    maxSizeWebp?: number;
}): Promise<void>;
//# sourceMappingURL=mdast.d.ts.map