import { Effect } from 'effect';
import { type CellRangeRef } from '@bilig/protocol';
import type { WorkbookDataValidationRecord, WorkbookDefinedNameRecord, WorkbookFilterRecord, WorkbookMergeRangeRecord } from './workbook-metadata-types.js';
import { WorkbookMetadataError } from './workbook-metadata-service-contract.js';
export declare function renameDataValidationSourceSheet(record: WorkbookDataValidationRecord, oldSheetName: string, newSheetName: string): WorkbookDataValidationRecord;
export declare function rewriteDefinedNameForSheetDeletion(record: WorkbookDefinedNameRecord, deletedSheetName: string): WorkbookDefinedNameRecord;
export declare function assertMergeRangesDoNotOverlap(ranges: readonly WorkbookMergeRangeRecord[]): void;
export declare function canonicalWorkbookFilterRange(range: WorkbookFilterRecord['range']): WorkbookFilterRecord['range'];
export declare function canonicalWorkbookRangeOnSheet(sheetName: string, range: CellRangeRef): CellRangeRef;
export declare function canonicalWorkbookFilterRangeOnSheet(sheetName: string, range: WorkbookFilterRecord['range']): WorkbookFilterRecord['range'];
export declare function metadataEffect<Success>(message: string, run: () => Success): Effect.Effect<Success, WorkbookMetadataError>;
export declare function normalizeMetadataKey(key: string): string;
