import { defaultRenderers } from './markdown-parser.js';
import type { Snippet } from 'svelte';
export type AnySnippet = Snippet<[Record<string, unknown>]>;
type RestProps = Record<string, unknown>;
/**
 * Merges caller renderer overrides with the built-in renderer map.
 *
 * @param renderers Partial renderer overrides from component props.
 * @returns Renderer map with default markdown and HTML renderers preserved.
 */
export declare const buildCombinedRenderers: (renderers: Partial<typeof defaultRenderers>) => {
    html: import("../index.js").HtmlRenderers;
    rawtext: import("./markdown-parser.js").RendererComponent;
    escape: import("./markdown-parser.js").RendererComponent;
    heading: import("./markdown-parser.js").RendererComponent;
    paragraph: import("./markdown-parser.js").RendererComponent;
    blockquote: import("./markdown-parser.js").RendererComponent;
    code: import("./markdown-parser.js").RendererComponent;
    list: import("./markdown-parser.js").RendererComponent;
    listitem: import("./markdown-parser.js").RendererComponent;
    hr: import("./markdown-parser.js").RendererComponent;
    table: import("./markdown-parser.js").RendererComponent;
    tablehead: import("./markdown-parser.js").RendererComponent;
    tablebody: import("./markdown-parser.js").RendererComponent;
    tablerow: import("./markdown-parser.js").RendererComponent;
    tablecell: import("./markdown-parser.js").RendererComponent;
    text: import("./markdown-parser.js").RendererComponent;
    link: import("./markdown-parser.js").RendererComponent;
    image: import("./markdown-parser.js").RendererComponent;
    em: import("./markdown-parser.js").RendererComponent;
    strong: import("./markdown-parser.js").RendererComponent;
    codespan: import("./markdown-parser.js").RendererComponent;
    br: import("./markdown-parser.js").RendererComponent;
    del: import("./markdown-parser.js").RendererComponent;
    orderedlistitem: import("./markdown-parser.js").RendererComponent;
    unorderedlistitem: import("./markdown-parser.js").RendererComponent;
};
/**
 * Gets renderer keys recognized by the component.
 *
 * @param extensionTokenNames Custom token names declared by Marked extensions.
 * @returns Built-in markdown renderer keys followed by extension token names.
 */
export declare const getAllRendererKeys: (extensionTokenNames: string[]) => string[];
/**
 * Extracts markdown snippet overrides from rest props.
 *
 * @param rest Extra component props after known SvelteMarkdown props are removed.
 * @param allRendererKeys Built-in and extension renderer keys to match.
 * @returns Snippet overrides keyed by markdown token type.
 */
export declare const getSnippetOverrides: (rest: RestProps, allRendererKeys: string[]) => Record<string, AnySnippet>;
/**
 * Extracts HTML snippet overrides from rest props.
 *
 * @param rest Extra component props after known SvelteMarkdown props are removed.
 * @returns HTML snippet overrides keyed by tag name without the `html_` prefix.
 */
export declare const getHtmlSnippetOverrides: (rest: RestProps) => Record<string, AnySnippet>;
/**
 * Removes snippet override props from the props forwarded to Parser.
 *
 * @param rest Extra component props after known SvelteMarkdown props are removed.
 * @param allRendererKeys Built-in and extension renderer keys to exclude.
 * @returns Props that should pass through to the rendered markdown tree.
 */
export declare const getPassThroughProps: (rest: RestProps, allRendererKeys: string[]) => {
    [k: string]: unknown;
};
export {};
