/**
 * Story locator helpers for the review graph.
 *
 * A review graph is built per story editor. The body, headers, footers,
 * footnotes, and endnotes each keep their own PM coordinate space and their
 * own raw Word-id namespaces; the graph never crosses those boundaries.
 *
 * `TrackedChangeIndexImpl` remains the host-level aggregator that composes
 * per-story graph projections (`packages/super-editor/.../document-api-
 * adapters/tracked-changes/tracked-change-index.ts`). This module owns the
 * locator type used by the graph itself so the graph stays decoupled from
 * the document-api adapter layer.
 */
/**
 * Public-style story locator that mirrors the `StoryLocator` exported from
 * `@superdoc/document-api`. Duplicated as a local typedef so this module
 * does not import from document-api adapters (the graph must stay below the
 * adapter layer per phase0-001 boundaries).
 *
 * @typedef {Object} StoryLocator
 * @property {'story'} kind
 * @property {'body'|'header'|'footer'|'headerFooterPart'|'footnote'|'endnote'} storyType
 * @property {string} [refId]
 * @property {string} [noteId]
 */
/** @type {StoryLocator} */
export const BODY_STORY: StoryLocator;
export function buildStoryKey(locator: StoryLocator | null | undefined): string;
export function storyLocatorsEqual(a: StoryLocator | null | undefined, b: StoryLocator | null | undefined): boolean;
/**
 * Public-style story locator that mirrors the `StoryLocator` exported from
 * `@superdoc/document-api`. Duplicated as a local typedef so this module
 * does not import from document-api adapters (the graph must stay below the
 * adapter layer per phase0-001 boundaries).
 */
export type StoryLocator = {
    kind: "story";
    storyType: "body" | "header" | "footer" | "headerFooterPart" | "footnote" | "endnote";
    refId?: string | undefined;
    noteId?: string | undefined;
};
//# sourceMappingURL=story-locator.d.ts.map