import { StoryLocator } from '../../../../../../document-api/src/index.js';
import { Editor } from '../../core/Editor.js';
import { parseStoryKeyType } from '../story-runtime/story-key.js';
import { TrackedChangeSnapshot } from './tracked-change-snapshot.js';
export type TrackedChangeIndexListener = (snapshots: ReadonlyArray<TrackedChangeSnapshot>) => void;
export interface TrackedChangeIndex {
    get(locator: StoryLocator): ReadonlyArray<TrackedChangeSnapshot>;
    getAll(): ReadonlyArray<TrackedChangeSnapshot>;
    invalidate(locator: StoryLocator): void;
    invalidateAll(): void;
    subscribe(listener: TrackedChangeIndexListener): () => void;
    dispose(): void;
}
export declare function getTrackedChangeIndex(hostEditor: Editor): TrackedChangeIndex;
export { classifyStoryKind, describeStoryLocation } from './story-labels.js';
export type { TrackedChangeSnapshot } from './tracked-change-snapshot.js';
export { parseStoryKeyType as parseStoryKind };
//# sourceMappingURL=tracked-change-index.d.ts.map