import type { CellRangeRef, WorkbookConditionalFormatRuleSnapshot, WorkbookDataValidationRuleSnapshot, WorkbookDefinedNameValueSnapshot } from '@bilig/protocol';
import { type WorkbookChartRecord, type WorkbookCommentEntryRecord, type WorkbookCommentThreadRecord, type WorkbookConditionalFormatRecord, type WorkbookSheetConditionalFormatArtifactsRecord, type WorkbookDataValidationRecord, type WorkbookDrawingArtifactsRecord, type WorkbookExternalLinkArtifactsRecord, type WorkbookHyperlinkRecord, type WorkbookImageRecord, type WorkbookMacroPayloadRecord, type WorkbookNoteRecord, type WorkbookProtectionRecord, type WorkbookRangeProtectionRecord, type WorkbookSheetLegacyCommentVmlRecord, type WorkbookSheetProtectionRecord, type WorkbookSheetDrawingArtifactsRecord, type WorkbookSheetThreadedCommentArtifactsRecord, type WorkbookThreadedCommentArtifactsRecord, type WorkbookDefinedNameRecord, type WorkbookFilterRecord, type WorkbookPivotRecord, type WorkbookPropertyRecord, type WorkbookSortKeyRecord, type WorkbookSortRecord, type WorkbookShapeRecord, type WorkbookSpillRecord, type WorkbookTableRecord } from './workbook-metadata-types.js';
import { cloneMergeRangeRecord, mergeRangeKey } from './workbook-merge-records.js';
export declare function cloneDefinedNameRecord(record: WorkbookDefinedNameRecord): WorkbookDefinedNameRecord;
export declare function cloneDefinedNameValue(value: WorkbookDefinedNameValueSnapshot): WorkbookDefinedNameValueSnapshot;
export declare function clonePropertyRecord(record: WorkbookPropertyRecord): WorkbookPropertyRecord;
export declare function cloneWorkbookProtectionRecord(record: WorkbookProtectionRecord): WorkbookProtectionRecord;
export declare function cloneMacroPayloadRecord(record: WorkbookMacroPayloadRecord): WorkbookMacroPayloadRecord;
export declare function cloneTableRecord(record: WorkbookTableRecord): WorkbookTableRecord;
export declare function cloneFilterRecord(record: WorkbookFilterRecord): WorkbookFilterRecord;
export declare function cloneSortKeyRecord(record: WorkbookSortKeyRecord): WorkbookSortKeyRecord;
export declare function cloneSortRecord(record: WorkbookSortRecord): WorkbookSortRecord;
export declare function cloneDataValidationRule(rule: WorkbookDataValidationRuleSnapshot): WorkbookDataValidationRuleSnapshot;
export declare function cloneDataValidationRecord(record: WorkbookDataValidationRecord): WorkbookDataValidationRecord;
export declare function cloneConditionalFormatRule(rule: WorkbookConditionalFormatRuleSnapshot): WorkbookConditionalFormatRuleSnapshot;
export declare function cloneConditionalFormatRecord(record: WorkbookConditionalFormatRecord): WorkbookConditionalFormatRecord;
export declare function cloneConditionalFormatArtifactsRecord(record: WorkbookSheetConditionalFormatArtifactsRecord): WorkbookSheetConditionalFormatArtifactsRecord;
export declare function cloneDrawingArtifactsRecord(record: WorkbookDrawingArtifactsRecord): WorkbookDrawingArtifactsRecord;
export declare function cloneExternalLinkArtifactsRecord(record: WorkbookExternalLinkArtifactsRecord): WorkbookExternalLinkArtifactsRecord;
export declare function cloneThreadedCommentArtifactsRecord(record: WorkbookThreadedCommentArtifactsRecord): WorkbookThreadedCommentArtifactsRecord;
export declare function cloneSheetDrawingArtifactsRecord(record: WorkbookSheetDrawingArtifactsRecord): WorkbookSheetDrawingArtifactsRecord;
export declare function cloneSheetThreadedCommentArtifactsRecord(record: WorkbookSheetThreadedCommentArtifactsRecord): WorkbookSheetThreadedCommentArtifactsRecord;
export declare function cloneSheetLegacyCommentVmlRecord(record: WorkbookSheetLegacyCommentVmlRecord): WorkbookSheetLegacyCommentVmlRecord;
export declare function cloneSheetProtectionRecord(record: WorkbookSheetProtectionRecord): WorkbookSheetProtectionRecord;
export declare function cloneRangeProtectionRecord(record: WorkbookRangeProtectionRecord): WorkbookRangeProtectionRecord;
export declare function cloneCommentEntryRecord(record: WorkbookCommentEntryRecord): WorkbookCommentEntryRecord;
export declare function cloneCommentThreadRecord(record: WorkbookCommentThreadRecord): WorkbookCommentThreadRecord;
export declare function cloneNoteRecord(record: WorkbookNoteRecord): WorkbookNoteRecord;
export declare function cloneHyperlinkRecord(record: WorkbookHyperlinkRecord): WorkbookHyperlinkRecord;
export declare function conditionalFormatKey(id: string): string;
export declare function rangeProtectionKey(id: string): string;
export declare function clonePivotRecord(record: WorkbookPivotRecord): WorkbookPivotRecord;
export declare function cloneChartRecord(record: WorkbookChartRecord): WorkbookChartRecord;
export declare function cloneImageRecord(record: WorkbookImageRecord): WorkbookImageRecord;
export declare function cloneShapeRecord(record: WorkbookShapeRecord): WorkbookShapeRecord;
export declare function cloneSpillRecord(record: WorkbookSpillRecord): WorkbookSpillRecord;
export { cloneMergeRangeRecord, mergeRangeKey };
export declare function filterKey(sheetName: string, range: CellRangeRef): string;
export declare function sortKey(sheetName: string, range: CellRangeRef): string;
export declare function dataValidationKey(sheetName: string, range: CellRangeRef): string;
export declare function commentThreadKey(sheetName: string, address: string): string;
export declare function noteKey(sheetName: string, address: string): string;
export declare function hyperlinkKey(sheetName: string, address: string): string;
export declare function tableKey(name: string): string;
export declare function spillKey(sheetName: string, address: string): string;
export declare function deleteRecordsBySheet<T>(bucket: Map<string, T>, sheetName: string, readSheetName: (record: T) => string | undefined): void;
export declare function rekeyRecords<T>(bucket: Map<string, T>, rewrite: (record: T) => T): void;
