export { default as Slugger } from 'github-slugger';
export { Lexer, type MarkedOptions, type Token, type Tokens, type TokensList } from 'marked';
import type { Component } from 'svelte';
import { type HtmlRenderers } from '../renderers/html/index.js';
import type { SvelteMarkdownOptions } from '../types.js';
/**
 * Represents a Svelte component that can be used as a renderer.
 * Allows for flexible component types while maintaining type safety.
 *
 * @typedef {Component<any, any, any> | undefined | null} RendererComponent
 */
export type RendererComponent = Component<any, any, any> | undefined | null;
/**
 * Comprehensive mapping of markdown elements to their renderer components.
 * Structured in categories for better organization and maintainability.
 *
 * Categories:
 * - HTML: Special renderer for HTML content
 * - Block elements: Major structural elements
 * - Table elements: Table-specific components
 * - Inline elements: Text-level components
 * - List variations: Specialized list item renderers
 *
 * @interface Renderers
 */
export type Renderers = {
    html: HtmlRenderers;
    rawtext: RendererComponent;
    heading: RendererComponent;
    paragraph: RendererComponent;
    blockquote: RendererComponent;
    code: RendererComponent;
    list: RendererComponent;
    listitem: RendererComponent;
    hr: RendererComponent;
    table: RendererComponent;
    tablehead: RendererComponent;
    tablebody: RendererComponent;
    tablerow: RendererComponent;
    tablecell: RendererComponent;
    text: RendererComponent;
    link: RendererComponent;
    image: RendererComponent;
    em: RendererComponent;
    strong: RendererComponent;
    codespan: RendererComponent;
    br: RendererComponent;
    del: RendererComponent;
    orderedlistitem: RendererComponent;
    unorderedlistitem: RendererComponent;
};
/**
 * Default renderer configuration mapping markdown elements to Svelte components.
 * Provides out-of-the-box rendering capabilities while allowing for customization.
 *
 * Implementation notes:
 * - All components are lazy-loaded for better performance
 * - Null values indicate optional renderers
 * - Components are type-checked against the Renderers interface
 *
 * @const {Renderers}
 */
export declare const defaultRenderers: Renderers;
/**
 * Default configuration options for the markdown parser.
 * Provides sensible defaults while allowing for customization.
 *
 * Notable defaults:
 * - GitHub Flavored Markdown enabled
 * - Header IDs generated automatically
 * - No syntax highlighting by default
 * - HTML sanitization disabled
 * - Standard markdown parsing rules
 *
 * @const {SvelteMarkdownOptions}
 */
export declare const defaultOptions: SvelteMarkdownOptions;
