import type { CompilationDependencyChange } from './compilation-scope-graph.js';
import type { CompilationSessionPool } from './compilation-session-pool.js';
import type { TailwindGenerationSessionPool } from './tailwind-generation-session-pool.js';
export declare class CompilationChangeCoordinator {
    private readonly compilationPool;
    private readonly generationPool;
    private readonly pendingChangesByScope;
    private disposed;
    constructor(compilationPool: CompilationSessionPool, generationPool: TailwindGenerationSessionPool);
    record(changes: Iterable<CompilationDependencyChange>): Set<string>;
    consume(scopeId: string): {
        id: string;
        type: "dependency-changed" | "config-changed";
    }[] | undefined;
    invalidateScope(scopeId: string): void;
    getScopeDependencyRevision(scopeId: string): number;
    dispose(): void;
    private ensureActive;
}
export declare function getCompilationChangeCoordinator(owner: object): CompilationChangeCoordinator;
export declare function recordCompilationDependencyChanges(owner: object, changes: Iterable<CompilationDependencyChange>): Set<string>;
export declare function consumeCompilationScopeChanges(owner: object, scopeId: string): {
    id: string;
    type: "dependency-changed" | "config-changed";
}[] | undefined;
export declare function getCompilationScopeDependencyRevision(owner: object, scopeId: string): number;
export declare function invalidateCompilationScope(owner: object, scopeId: string): void;
export declare function disposeCompilationChangeCoordinator(owner: object): void;
