import { ContentResult, DocumentContext, Highlighter, Markdown, MarkdownRenderer, ParseAndRenderOptions, ParsedContentResult, RenderableDocument, RenderContext, Result } from '../type';
/**
 * MarkdownImpl implements the main Markdown interface
 * This is the TypeScript equivalent of the Go entity.Markdown
 */
export declare class MarkdownImpl implements Markdown {
    private renderer;
    private highlighter;
    constructor(renderer: MarkdownRenderer, highlighter: Highlighter);
    render(rctx: RenderContext, dctx: DocumentContext): Promise<Result>;
    highlight(code: string, lang: string, opts?: any): Promise<string>;
    highlightCodeBlock(ctx: import('../type').CodeblockContext, opts?: any): Promise<import('../type').HighlightResult>;
    renderCodeblock(cctx: any, w: import('../type').FlexiWriter, ctx: import('../type').CodeblockContext): Promise<void>;
    isDefaultCodeBlockRenderer(): boolean;
    prepareRender(source: Uint8Array): Promise<RenderableDocument>;
    /**
     * Parse and render content in one step - simplified interface for external use
     * This method hides implementation details and provides a clean interface
     */
    parseAndRenderContent(source: Uint8Array, options?: ParseAndRenderOptions): Promise<ContentResult>;
    /**
     * Parse markdown source with front matter and shortcodes
     */
    parseContent(source: Uint8Array): Promise<ParsedContentResult>;
    /**
     * Parse front matter from item
     */
    private parseFrontMatter;
    /**
     * Simple YAML parser (basic implementation)
     */
    private parseYAML;
    /**
     * Simple TOML parser using smol-toml library
     */
    private parseTOML;
    /**
     * Simple JSON parser
     */
    private parseJSON;
    /**
     * Simple Org mode parser (basic implementation)
     */
    private parseOrg;
    /**
     * Parse value (string, number, boolean, array)
     */
    private parseValue;
    /**
     * Parse markdown source into tokens and create parsing result
     */
    private parse;
    /**
     * Render the parsed result to bytes
     */
    private renderToBytes;
}
//# sourceMappingURL=markdown.d.ts.map