import type { Accessor } from '../accessor/base.ts';
import type { CacheManager } from '../cache/manager.ts';
import type { Delta, FileEvent, PathSpec } from '../types.ts';
export interface EventMount {
    readonly prefix: string;
    readonly cacheManager: Pick<CacheManager, 'invalidate'> | null;
    readonly accessor: Accessor;
}
export interface EventRegistry {
    mountFor(path: string): EventMount;
}
export interface DeltaHook {
    pull(root: PathSpec, checkpoint: string | null): Promise<Delta>;
}
export interface EventRuntime {
    events(path: PathSpec | readonly PathSpec[]): AsyncIterable<FileEvent>;
    notify(change: FileEvent): Promise<void>;
    close(): Promise<void>;
}
//# sourceMappingURL=base.d.ts.map