import { withParentFrame } from '../../../../extensions/track-changes/review-model/import-context.js';
/**
 * @typedef {{
 *   trackedChangeIdMapsByPart?: Map<string, Map<string, string>>,
 *   trackedChangeIdMap?: Map<string, string>,
 *   trackedChangeSourceIdMapByPart?: Map<string, Map<string, string>>,
 *   trackedChangesOptions?: { replacements?: 'paired' | 'independent' },
 * }} ConverterLike
 *
 * @typedef {Record<string, unknown> & {
 *   converter?: ConverterLike,
 *   currentPartPath?: string,
 *   filename?: string,
 *   importTrackingContext?: import('@extensions/track-changes/review-model/import-context.js').ImportTrackingContext,
 * }} ImportTrackingParams
 */
/**
 * @param {ImportTrackingParams} [params]
 * @returns {string}
 */
export function resolveTrackedChangePartPath(params?: ImportTrackingParams): string;
/**
 * @param {ImportTrackingParams} [params]
 * @param {string} [partPath]
 */
export function getTrackedChangeIdMapForPart(params?: ImportTrackingParams, partPath?: string): Map<string, string> | null;
/**
 * @param {ImportTrackingParams} [params]
 * @param {string} sourceId
 * @returns {{ partPath: string, sourceId: string, logicalId: string }}
 */
export function resolveTrackedChangeImportIds(params?: ImportTrackingParams, sourceId?: string): {
    partPath: string;
    sourceId: string;
    logicalId: string;
};
/**
 * @param {ImportTrackingParams} [params]
 * @param {string} [partPath]
 * @returns {import('@extensions/track-changes/review-model/import-context.js').ImportTrackingContext | null}
 */
export function getOrCreateImportTrackingContext(params?: ImportTrackingParams, partPath?: string): import('../../../../extensions/track-changes/review-model/import-context.js').ImportTrackingContext | null;
/**
 * @param {{
 *   params?: ImportTrackingParams,
 *   attrs: Record<string, unknown>,
 *   side: 'insertion' | 'deletion' | 'formatting',
 *   sourceId?: string,
 *   partPath?: string,
 * }} input
 * @returns {{ context: import('@extensions/track-changes/review-model/import-context.js').ImportTrackingContext | null, frame: import('@extensions/track-changes/review-model/import-context.js').ParentFrame | null }}
 */
export function stampImportTrackingAttrs(input: {
    params?: ImportTrackingParams;
    attrs: Record<string, unknown>;
    side: "insertion" | "deletion" | "formatting";
    sourceId?: string;
    partPath?: string;
}): {
    context: import('../../../../extensions/track-changes/review-model/import-context.js').ImportTrackingContext | null;
    frame: import('../../../../extensions/track-changes/review-model/import-context.js').ParentFrame | null;
};
export { withParentFrame };
export type ConverterLike = {
    trackedChangeIdMapsByPart?: Map<string, Map<string, string>>;
    trackedChangeIdMap?: Map<string, string>;
    trackedChangeSourceIdMapByPart?: Map<string, Map<string, string>>;
    trackedChangesOptions?: {
        replacements?: "paired" | "independent";
    };
};
export type ImportTrackingParams = Record<string, unknown> & {
    converter?: ConverterLike;
    currentPartPath?: string;
    filename?: string;
    importTrackingContext?: import('../../../../extensions/track-changes/review-model/import-context.js').ImportTrackingContext;
};
//# sourceMappingURL=importTrackingContext.d.ts.map