import type { ArtifactStore } from '../artifacts/index.js';
import type { KnowledgeStore } from './store.js';
import type { KnowledgeConnector, KnowledgeMaterializedProjection, KnowledgeProjectionBundle, KnowledgeProjectionTarget, KnowledgeProjectionTargetKind } from './types.js';
export interface KnowledgeProjectionServiceOptions {
    readonly connectors?: () => readonly KnowledgeConnector[];
}
export declare class KnowledgeProjectionService {
    private readonly store;
    private readonly artifactStore;
    private readonly getConnectors;
    constructor(store: KnowledgeStore, artifactStore: ArtifactStore, options?: KnowledgeProjectionServiceOptions);
    listTargets(limit?: number): Promise<KnowledgeProjectionTarget[]>;
    render(input: {
        readonly kind: KnowledgeProjectionTargetKind;
        readonly id?: string;
        readonly limit?: number;
    }): Promise<KnowledgeProjectionBundle>;
    materialize(input: {
        readonly kind: KnowledgeProjectionTargetKind;
        readonly id?: string;
        readonly limit?: number;
        readonly filename?: string;
    }): Promise<KnowledgeMaterializedProjection>;
    private resolveTarget;
    private createPresetTarget;
    private createDashboardTarget;
    private createRollupTarget;
    private createSourceTarget;
    private createNodeTarget;
    private createIssueTarget;
    private renderOverviewPage;
    private renderSourceIndexPage;
    private renderNodeIndexPage;
    private renderIssueDashboardPage;
    private renderBacklinksPage;
    private renderHealthDashboardPage;
    private renderSourcePage;
    private renderNodePage;
    private renderIssuePage;
    private renderDashboardPage;
    private renderRollupPage;
    private renderBundleTarget;
    private bundleFromPages;
    private linkToTarget;
    private combineBundleMarkdown;
}
//# sourceMappingURL=projections.d.ts.map