import type { DocPresentationRoute } from '@contractspec/lib.contracts-spec/docs';
type DocsSearchArgs = {
    query?: string;
    tag?: string | string[];
    visibility?: string;
    kind?: string;
    limit?: number;
    offset?: number;
};
export declare function toDocSummary({ block, route }: DocPresentationRoute): {
    id: string;
    title: string;
    summary: string;
    route: string;
    visibility: import("@contractspec/lib.contracts-spec").DocVisibility;
    kind: import("@contractspec/lib.contracts-spec").DocKind;
    version: string;
    tags: string[];
};
export declare function searchDocs(routes: DocPresentationRoute[], args: DocsSearchArgs): {
    nextOffset?: number | undefined;
    docs: {
        id: string;
        title: string;
        summary: string;
        route: string;
        visibility: import("@contractspec/lib.contracts-spec").DocVisibility;
        kind: import("@contractspec/lib.contracts-spec").DocKind;
        version: string;
        tags: string[];
    }[];
    items: {
        id: string;
        title: string;
        summary: string;
        route: string;
        visibility: import("@contractspec/lib.contracts-spec").DocVisibility;
        kind: import("@contractspec/lib.contracts-spec").DocKind;
        version: string;
        tags: string[];
    }[];
    total: number;
};
export declare function getDocById(id: string): {
    doc: {
        id: string;
        title: string;
        summary: string;
        route: string;
        visibility: import("@contractspec/lib.contracts-spec").DocVisibility;
        kind: import("@contractspec/lib.contracts-spec").DocKind;
        version: string;
        tags: string[];
    };
    content: string;
} | undefined;
export declare function getDocByRoute(routes: DocPresentationRoute[], routePath: string): {
    doc: {
        id: string;
        title: string;
        summary: string;
        route: string;
        visibility: import("@contractspec/lib.contracts-spec").DocVisibility;
        kind: import("@contractspec/lib.contracts-spec").DocKind;
        version: string;
        tags: string[];
    };
    content: string;
} | undefined;
export declare function listDocFacets(routes: DocPresentationRoute[]): {
    totalDocs: number;
    tags: {
        [x: string]: string | number;
        count: number;
    }[];
    kinds: {
        [x: string]: string | number;
        count: number;
    }[];
    visibilities: {
        [x: string]: string | number;
        count: number;
    }[];
};
export {};
