import { type SerializeSuccess } from '@mintlify/mdx/types';
import type { PageMetaTags, PageType } from '@mintlify/models';
import { CodeStyling, DocsConfig } from '@mintlify/validation';
import type { PluggableList } from 'unified';
import { MdxExtracts } from '../../index.js';
import { createSnippetTreeMap, type Snippet } from './getMdx/snippets.js';
type RunWithTracingFn = <T>(spanName: string, fn: () => Promise<T>) => Promise<T>;
export type GetMdxType = {
    mdxSource: SerializeSuccess;
    mdxSourceWithNoJs: SerializeSuccess;
    mdxExtracts: MdxExtracts;
    panelMdxSource?: SerializeSuccess;
    panelMdxSourceWithNoJs?: SerializeSuccess;
};
export declare function getMdx({ path, content, metadata, snippets, subdomain, codeStyling, config, tailwindSelectors, pageType, trace, customLanguages, variables, rehypePlugins, remarkPlugins, allowedComponents, }: {
    path: string;
    content: string;
    metadata: PageMetaTags;
    snippets: Snippet[];
    subdomain: string;
    codeStyling: CodeStyling;
    config?: Pick<DocsConfig, 'api' | '$schema'>;
    tailwindSelectors?: string[] | undefined;
    pageType?: PageType;
    trace?: RunWithTracingFn;
    customLanguages?: string[];
    variables?: Record<string, string>;
    rehypePlugins?: PluggableList;
    remarkPlugins?: PluggableList;
    allowedComponents?: string[];
}): Promise<GetMdxType>;
export { createSnippetTreeMap, type Snippet };
