import { type OwlConstructResult, type OwlQueryResult } from '@oml/owl';
import type { MdExecuteBlocksParams, MdExecuteBlocksResult } from './md-execution.js';
export interface MarkdownExecutionBackend {
    ensureContext(modelUri: string): Promise<void>;
    resolveContextIri(modelUri: string): string;
    countContextQuads?: (modelUri: string) => Promise<number>;
    query(modelUri: string, sparql: string): Promise<OwlQueryResult>;
    construct(modelUri: string, sparql: string): Promise<OwlConstructResult>;
    isKnownOntologyIriNamespace?: (ontologyIri: string) => boolean;
}
export declare class MarkdownExecutor {
    private readonly backend;
    constructor(backend: MarkdownExecutionBackend);
    executeBlocks(params: MdExecuteBlocksParams): Promise<MdExecuteBlocksResult>;
    private executeMatrixBlock;
    private executeTableBlock;
    private executeGraphBlock;
    private executeDiagramBlock;
    private executeTreeBlock;
    private executeTextBlock;
    private executeListBlock;
}
