export interface ParsedCodeBlock {
    id: string;
    language: string;
    meta?: string;
    content: string;
    options?: Record<string, unknown>;
    lineStart: number;
    lineEnd: number;
}
export interface MarkdownFrontMatter {
    raw: string;
    contextOntologyIri?: string;
    data?: Record<string, unknown>;
}
export interface PreparedCodeBlock {
    block: ParsedCodeBlock;
    handlerId: string;
}
export interface PreparedMarkdownDocument {
    markdown: string;
    renderedHtml: string;
    frontMatter?: MarkdownFrontMatter;
    contextOntologyIri?: string;
    codeBlocks: ParsedCodeBlock[];
    executableBlocks: PreparedCodeBlock[];
}
export interface MarkdownExecutionContext {
    documentUri: string;
    modelUri?: string;
}
export interface CodeBlockExecutionResult {
    ok: boolean;
    output?: string;
    error?: string;
}
export interface CodeBlockHandler {
    id: string;
    supports(block: ParsedCodeBlock): boolean;
    execute(context: MarkdownExecutionContext, block: ParsedCodeBlock, signal: AbortSignal): Promise<CodeBlockExecutionResult>;
}
