import type { ArtifactStore } from '../artifacts/index.js';
import { type KnowledgeSpaceScopeInput } from './spaces.js';
import type { KnowledgeStore } from './store.js';
import type { KnowledgeConnector, KnowledgeMaterializedProjection, KnowledgeProjectionBundle, KnowledgeProjectionTarget, KnowledgeProjectionTargetKind } from './types.js';
export interface KnowledgeProjectionServiceOptions {
    readonly connectors?: (() => readonly KnowledgeConnector[]) | undefined;
}
export declare class KnowledgeProjectionService {
    private readonly store;
    private readonly artifactStore;
    private readonly getConnectors;
    constructor(store: KnowledgeStore, artifactStore: ArtifactStore, options?: KnowledgeProjectionServiceOptions);
    listTargets(limit?: number, scope?: KnowledgeSpaceScopeInput): Promise<KnowledgeProjectionTarget[]>;
    render(input: {
        readonly kind: KnowledgeProjectionTargetKind;
        readonly id?: string | undefined;
        readonly limit?: number | undefined;
        readonly knowledgeSpaceId?: string | undefined;
        readonly includeAllSpaces?: boolean | undefined;
    }): Promise<KnowledgeProjectionBundle>;
    materialize(input: {
        readonly kind: KnowledgeProjectionTargetKind;
        readonly id?: string | undefined;
        readonly limit?: number | undefined;
        readonly filename?: string | undefined;
        readonly knowledgeSpaceId?: string | undefined;
        readonly includeAllSpaces?: boolean | undefined;
    }): 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;
    private isGeneratedSourceReference;
    private edgeInScope;
    private recordReferenceInScope;
    private scopedSources;
    private scopedNodes;
    private scopedIssues;
    private scopedExtractions;
    private nodeInScope;
    private issueInScope;
    private getScopeLookup;
}
//# sourceMappingURL=projections.d.ts.map