import type { PresentationSpec } from '../presentations/presentations';
import { type DocPresentationOptions, type DocPresentationRoute } from './presentations';
import type { DocBlock } from './types';
export type DocId = string & {
    __docId: true;
};
export declare class DocRegistry {
    private readonly routes;
    constructor(blocks?: DocBlock[], options?: DocPresentationOptions);
    register(block: DocBlock, options?: DocPresentationOptions): this;
    list(): DocPresentationRoute[];
    get(id: string): DocPresentationRoute | undefined;
    toRouteTuples(): [string, PresentationSpec][];
    toPresentationSpecs(options?: DocPresentationOptions): PresentationSpec[];
}
export declare const defaultDocRegistry: DocRegistry;
export declare function registerDocBlocks(blocks: DocBlock[]): void;
export declare function listRegisteredDocBlocks(): DocBlock[];
export declare function docRef(id: string): DocId;
export declare const docId: typeof docRef;
