import { HeaderFooterSlotStoryLocator, HeaderFooterPartStoryLocator } from '../../../../../../document-api/src/index.js';
import { Editor } from '../../core/Editor.js';
import { StoryRuntime } from './story-types.js';
interface HeaderFooterSlotResolutionOptions {
    intent?: 'read' | 'write';
}
/**
 * Resolves a headerFooterSlot locator to a StoryRuntime.
 *
 * Resolution strategy:
 * 1. Find the target section's sectPr and read its header/footer references
 * 2. For 'effective' resolution, walk backward through sections if no explicit ref
 * 3. Check for a live sub-editor in the converter's headerEditors/footerEditors
 * 4. For write intent with a missing slot, create a temporary empty story editor
 * 5. Otherwise fall back to creating a headless story editor from cached PM JSON
 *
 * The `resolution` field controls whether to follow inheritance:
 * - 'effective' (default): follow section chain to find the effective content
 * - 'explicit': only match explicitly defined slots
 */
export declare function resolveHeaderFooterSlotRuntime(hostEditor: Editor, locator: HeaderFooterSlotStoryLocator, options?: HeaderFooterSlotResolutionOptions): StoryRuntime;
/**
 * Resolves a headerFooterPart locator to a StoryRuntime.
 *
 * Direct part targeting — bypasses section-level resolution.
 * The refId is a relationship ID (e.g., 'rId7') that maps to a header/footer
 * part. We look it up directly in the converter's headers/footers cache,
 * which is keyed by refId.
 */
export declare function resolveHeaderFooterPartRuntime(hostEditor: Editor, locator: HeaderFooterPartStoryLocator): StoryRuntime;
export {};
//# sourceMappingURL=header-footer-story-runtime.d.ts.map