import type { WorkbookChartSnapshot, WorkbookCellMetadataSnapshot, WorkbookImageSnapshot, WorkbookMacroPayloadSnapshot, WorkbookMetadataSnapshot, WorkbookMergeRangeSnapshot, WorkbookProtectionSnapshot, SheetMetadataSnapshot, WorkbookShapeSnapshot, CellNumberFormatRecord, CellRangeRef, CellStylePatch, CellStyleRecord, LiteralInput, WorkbookAutoFilterSnapshot, WorkbookAxisEntrySnapshot, WorkbookAxisMetadataSnapshot, WorkbookCalculationSettingsSnapshot, WorkbookCommentEntrySnapshot, WorkbookCommentThreadSnapshot, WorkbookConditionalFormatSnapshot, WorkbookControlArtifactsSnapshot, WorkbookDrawingArtifactsSnapshot, WorkbookSheetConditionalFormatArtifactsSnapshot, WorkbookSheetDrawingArtifactsSnapshot, WorkbookSheetThreadedCommentArtifactsSnapshot, WorkbookDataValidationSnapshot, WorkbookDefinedNameValueSnapshot, WorkbookFreezePaneSnapshot, WorkbookHyperlinkSnapshot, WorkbookExternalLinkArtifactsSnapshot, WorkbookLegacyCommentVmlSnapshot, WorkbookNoteSnapshot, WorkbookRangeProtectionSnapshot, WorkbookSheetProtectionSnapshot, WorkbookSheetTabColorSnapshot, WorkbookPivotSnapshot, WorkbookPivotValueSnapshot, WorkbookTableSnapshot, WorkbookThreadedCommentArtifactsSnapshot, WorkbookVolatileContextSnapshot } from '@bilig/protocol';
export interface WorkbookDefinedNameRecord {
    name: string;
    scopeSheetName?: string;
    value: WorkbookDefinedNameValueSnapshot;
}
export interface WorkbookPropertyRecord {
    key: string;
    value: LiteralInput;
}
export interface WorkbookProtectionRecord extends WorkbookProtectionSnapshot {
}
export interface WorkbookMacroPayloadRecord extends WorkbookMacroPayloadSnapshot {
}
export interface WorkbookSpillRecord {
    sheetName: string;
    address: string;
    rows: number;
    cols: number;
}
export interface WorkbookPivotRecord extends WorkbookPivotSnapshot {
    values: WorkbookPivotValueSnapshot[];
}
export interface WorkbookChartRecord extends WorkbookChartSnapshot {
}
export interface WorkbookImageRecord extends WorkbookImageSnapshot {
}
export interface WorkbookShapeRecord extends WorkbookShapeSnapshot {
}
export interface WorkbookDrawingArtifactsRecord extends WorkbookDrawingArtifactsSnapshot {
}
export interface WorkbookExternalLinkArtifactsRecord extends WorkbookExternalLinkArtifactsSnapshot {
}
export interface WorkbookSheetDrawingArtifactsRecord extends WorkbookSheetDrawingArtifactsSnapshot {
    sheetName: string;
}
export interface WorkbookTableRecord extends WorkbookTableSnapshot {
}
export interface WorkbookAxisMetadataRecord extends WorkbookAxisMetadataSnapshot {
    sheetName: string;
    start: number;
    count: number;
    size: number | null;
    hidden: boolean | null;
    filterHidden?: boolean | null;
}
export interface WorkbookAxisEntryRecord extends Omit<WorkbookAxisEntrySnapshot, 'index'> {
    id: string;
    size: number | null;
    hidden: boolean | null;
    filterHidden: boolean | null;
}
export interface WorkbookCellStyleRecord extends CellStyleRecord {
}
export interface WorkbookStyleRangeRecord {
    range: CellRangeRef;
    styleId: string;
}
export interface WorkbookCellNumberFormatRecord extends CellNumberFormatRecord {
}
export interface WorkbookFormatRangeRecord {
    range: CellRangeRef;
    formatId: string;
}
export interface WorkbookCalculationSettingsRecord extends WorkbookCalculationSettingsSnapshot {
}
export interface WorkbookVolatileContextRecord extends WorkbookVolatileContextSnapshot {
}
export interface WorkbookFreezePaneRecord extends WorkbookFreezePaneSnapshot {
    sheetName: string;
}
export interface WorkbookSheetTabColorRecord extends WorkbookSheetTabColorSnapshot {
    sheetName: string;
}
export interface WorkbookMergeRangeRecord extends WorkbookMergeRangeSnapshot {
}
export interface WorkbookFilterRecord {
    sheetName: string;
    range: WorkbookAutoFilterSnapshot;
}
export interface WorkbookSortKeyRecord {
    keyAddress: string;
    direction: 'asc' | 'desc';
}
export interface WorkbookSortRecord {
    sheetName: string;
    range: CellRangeRef;
    keys: WorkbookSortKeyRecord[];
}
export interface WorkbookDataValidationRecord extends WorkbookDataValidationSnapshot {
}
export interface WorkbookConditionalFormatRecord extends WorkbookConditionalFormatSnapshot {
    style: CellStylePatch;
}
export interface WorkbookSheetConditionalFormatArtifactsRecord extends WorkbookSheetConditionalFormatArtifactsSnapshot {
    sheetName: string;
}
export interface WorkbookControlArtifactsRecord extends WorkbookControlArtifactsSnapshot {
}
export interface WorkbookThreadedCommentArtifactsRecord extends WorkbookThreadedCommentArtifactsSnapshot {
}
export interface WorkbookSheetThreadedCommentArtifactsRecord extends WorkbookSheetThreadedCommentArtifactsSnapshot {
    sheetName: string;
}
export interface WorkbookSheetLegacyCommentVmlRecord extends WorkbookLegacyCommentVmlSnapshot {
    sheetName: string;
}
export interface WorkbookSheetProtectionRecord extends WorkbookSheetProtectionSnapshot {
}
export interface WorkbookRangeProtectionRecord extends WorkbookRangeProtectionSnapshot {
}
export interface WorkbookCommentEntryRecord extends WorkbookCommentEntrySnapshot {
}
export interface WorkbookCommentThreadRecord extends WorkbookCommentThreadSnapshot {
    comments: WorkbookCommentEntryRecord[];
}
export interface WorkbookNoteRecord extends WorkbookNoteSnapshot {
}
export interface WorkbookHyperlinkRecord extends WorkbookHyperlinkSnapshot {
}
export declare const preservedWorkbookMetadataKeys: readonly ["documentPropertyArtifacts", "externalWorkbookReferences", "unsupportedFormulaDependencies", "unsupportedPivots", "formulaAudit", "externalConnections", "pivotArtifacts", "chartArtifacts", "chartSheetArtifacts", "dataModelArtifacts", "slicerConnectionArtifacts", "viewState", "styleArtifacts"];
export type WorkbookPreservedMetadataRecord = Partial<Pick<WorkbookMetadataSnapshot, (typeof preservedWorkbookMetadataKeys)[number]>>;
export declare const preservedSheetMetadataKeys: readonly ["styleArtifacts", "pivotArtifacts", "viewState"];
export type WorkbookPreservedSheetMetadataRecord = Partial<Pick<SheetMetadataSnapshot, (typeof preservedSheetMetadataKeys)[number]>>;
export interface WorkbookMetadataRecord {
    properties: Map<string, WorkbookPropertyRecord>;
    workbookProtection: WorkbookProtectionRecord | undefined;
    macroPayloads: Map<string, WorkbookMacroPayloadRecord>;
    definedNames: Map<string, WorkbookDefinedNameRecord>;
    tables: Map<string, WorkbookTableRecord>;
    spills: Map<string, WorkbookSpillRecord>;
    pivots: Map<string, WorkbookPivotRecord>;
    charts: Map<string, WorkbookChartRecord>;
    images: Map<string, WorkbookImageRecord>;
    shapes: Map<string, WorkbookShapeRecord>;
    drawingArtifacts: WorkbookDrawingArtifactsRecord | undefined;
    controlArtifacts: WorkbookControlArtifactsRecord | undefined;
    externalLinkArtifacts: WorkbookExternalLinkArtifactsRecord | undefined;
    threadedCommentArtifacts: WorkbookThreadedCommentArtifactsRecord | undefined;
    cellMetadata: WorkbookCellMetadataSnapshot | undefined;
    preservedWorkbookMetadata: WorkbookPreservedMetadataRecord;
    preservedSheetMetadata: Map<string, WorkbookPreservedSheetMetadataRecord>;
    sheetThreadedCommentArtifacts: Map<string, WorkbookSheetThreadedCommentArtifactsRecord>;
    sheetLegacyCommentVml: Map<string, WorkbookSheetLegacyCommentVmlRecord>;
    sheetDrawingArtifacts: Map<string, WorkbookSheetDrawingArtifactsRecord>;
    rowMetadata: Map<string, WorkbookAxisMetadataRecord>;
    columnMetadata: Map<string, WorkbookAxisMetadataRecord>;
    calculationSettings: WorkbookCalculationSettingsRecord;
    volatileContext: WorkbookVolatileContextRecord;
    freezePanes: Map<string, WorkbookFreezePaneRecord>;
    sheetTabColors: Map<string, WorkbookSheetTabColorRecord>;
    merges: Map<string, WorkbookMergeRangeRecord>;
    sheetProtections: Map<string, WorkbookSheetProtectionRecord>;
    filters: Map<string, WorkbookFilterRecord>;
    sorts: Map<string, WorkbookSortRecord>;
    dataValidations: Map<string, WorkbookDataValidationRecord>;
    conditionalFormats: Map<string, WorkbookConditionalFormatRecord>;
    conditionalFormatArtifacts: Map<string, WorkbookSheetConditionalFormatArtifactsRecord>;
    rangeProtections: Map<string, WorkbookRangeProtectionRecord>;
    commentThreads: Map<string, WorkbookCommentThreadRecord>;
    notes: Map<string, WorkbookNoteRecord>;
    hyperlinks: Map<string, WorkbookHyperlinkRecord>;
}
export declare function createWorkbookMetadataRecord(): WorkbookMetadataRecord;
export declare function normalizeDefinedName(name: string): string;
export declare function normalizeDefinedNameScope(scopeSheetName: string | undefined): string | undefined;
export declare function definedNameKey(name: string, scopeSheetName?: string): string;
export declare function compareDefinedNameRecords(left: WorkbookDefinedNameRecord, right: WorkbookDefinedNameRecord): number;
export declare function normalizeWorkbookObjectName(name: string, label?: string): string;
export declare function macroPayloadKey(kind: WorkbookMacroPayloadSnapshot['kind']): string;
export declare function pivotKey(sheetName: string, address: string): string;
export declare function chartKey(id: string): string;
export declare function imageKey(id: string): string;
export declare function shapeKey(id: string): string;
