import type { PagesService } from './pages.js';
import type { WsGateway } from '../ws/gateway.js';
import type { FileMeta, PageLink, PageLinkAutocompleteItem, PageLinksCounts, UnresolvedMention } from '../../shared/page-links.js';
export declare class PagesLinkIndexerService {
    private pages;
    private ws;
    private debounceMs;
    private pending;
    private byPath;
    private linkIndex;
    private reverseIndex;
    private unresolved;
    constructor(pages: PagesService, ws: WsGateway);
    indexAll(): Promise<void>;
    schedulePage(relPath: string): void;
    handleUnlink(relPath: string): void;
    private indexPage;
    private parseAndStoreMeta;
    private parseAndStoreLinks;
    private clearSourceLinks;
    resolve(candidate: string, sourcePath?: string): {
        path: string;
        anchor?: string;
    } | null;
    getFileMeta(relPath: string): FileMeta | undefined;
    getLinks(relPath: string): PageLink[];
    getReverseLinks(relPath: string): string[];
    getUnresolved(relPath: string): UnresolvedMention[];
    allLinks(): Record<string, PageLink[]>;
    allReverseLinks(): Record<string, string[]>;
    allUnresolved(): Record<string, UnresolvedMention[]>;
    counts(): PageLinksCounts;
    autocomplete(query: string, limit?: number): PageLinkAutocompleteItem[];
    private totalLinksCount;
    private unresolvedCount;
}
