import type { Build, Run } from "../..";
import type { Toc } from "../../../../core/toc";
import { Graph } from "../../../../core/utils";
export declare class WatchState {
    readonly changed: Set<NormalizedPath>;
    readonly invalide: Set<NormalizedPath>;
    readonly detachedEntries: Graph;
    readonly run: Run;
    readonly logger: Run['logger'];
    private program;
    constructor(program: Build, run: Run);
    invalidateToc(path: NormalizedPath): void;
    invalidateEntry(path: NormalizedPath): void;
    processToc(...args: Parameters<Build['processToc']>): Promise<void>;
    processEntry(entry: NormalizedPath): Promise<void>;
    isKnownEntry(path: NormalizedPath): boolean;
    isKnownToc(path: NormalizedPath): false | Toc | Promise<Toc | undefined> | undefined;
    isKnownTocGenerator(path: NormalizedPath): boolean;
    isToc(path: NormalizedPath): boolean;
    isPreset(path: NormalizedPath): boolean;
    isEntrySource(path: NormalizedPath): boolean;
    isEntryResource(path: NormalizedPath): boolean;
    isGraphPart(graph: 'toc' | 'vars' | 'entry' | 'detached', node: NormalizedPath): boolean;
    getParents(graph: 'toc' | 'vars' | 'entry' | 'detached', node: NormalizedPath): NormalizedPath[];
    getChilds(graph: 'toc' | 'vars' | 'entry' | 'detached', node: NormalizedPath): string[];
    getEntries(paths: (NormalizedPath | Toc)[]): Promise<NormalizedPath[]>;
}
