import type { Config, Node, ValidationType } from '@markdoc/markdoc';
import type { Store } from '../../store.js';
import type { LifecycleContext, MarkdownParseInput, MarkdocResolveContext } from '../../types';
import type { MarkdocError } from '../../../types/index.js';
export type ResolvableType = ValidationType & {
    resolver?: string;
};
export type MarkdocConfigProps = {
    partials: Record<string, Node>;
    relativePath: string;
    nodes: any;
    tags: any;
} & Config;
type ParsedAstChunk = {
    ast: Node;
    rawContent: string;
    resolveErrors: MarkdocError[];
    markdocErrors: MarkdocError[];
    validatedAtRevision: number;
    sharedDataDeps?: Set<string>;
    dynamicMarkdocComponents?: Set<string>;
    relativePath: string;
};
type MarkdocInfo = {
    sharedDataDeps?: Set<string>;
    dynamicMarkdocComponents?: string[];
    partials?: string[];
    tagList?: string[];
    htmlTagsList?: string[];
    tagOccurrence?: Record<string, number>;
    codeSnippetLanguages?: Record<string, number>;
    codeWalkthroughLanguages?: Record<string, number>;
};
export declare function resolveAndValidateMarkdoc(parsedAstChunk: ParsedAstChunk, markdocOpts: Config | undefined, context: MarkdocResolveContext): Promise<MarkdocInfo>;
export declare function getAst(relativePath: string, rawContent: string): ParsedAstChunk;
export declare function extractMdFirstHeading(relativePath: string, context: LifecycleContext): Promise<string | undefined>;
export declare function validateAllMarkdowns(store: Store, context?: LifecycleContext): Promise<void>;
export declare function parseAndResolveMarkdoc(input: MarkdownParseInput, markdocOpts: Config | undefined, rootContext: MarkdocResolveContext, resource?: string): Promise<import("../../types").LoadResult<{
    ast: Node;
    info: MarkdocInfo;
}>>;
export {};
//# sourceMappingURL=compiler.d.ts.map