export declare const OOXML_PATHS: { readonly contentTypes: "[Content_Types].xml"; readonly rootRels: "_rels/.rels"; readonly docPropsApp: "docProps/app.xml"; readonly docPropsCore: "docProps/core.xml"; readonly xlWorkbook: "xl/workbook.xml"; readonly xlWorkbookRels: "xl/_rels/workbook.xml.rels"; readonly xlSharedStrings: "xl/sharedStrings.xml"; readonly xlStyles: "xl/styles.xml"; readonly xlTheme1: "xl/theme/theme1.xml"; readonly xlFeaturePropertyBag: "xl/featurePropertyBag/featurePropertyBag.xml"; readonly xlMetadata: "xl/metadata.xml"; }; export declare function normalizeZipPath(path: string): string; export declare function getWorksheetNoFromWorksheetPath(path: string): number | undefined; export declare function getWorksheetNoFromWorksheetRelsPath(path: string): number | undefined; export declare function isMediaPath(path: string): boolean; export declare function getMediaFilenameFromPath(path: string): string | undefined; export declare function isThemePath(path: string): boolean; export declare function getThemeNameFromPath(path: string): string | undefined; export declare function isBinaryEntryPath(path: string): boolean; export declare function getDrawingNameFromPath(path: string): string | undefined; export declare function getDrawingNameFromRelsPath(path: string): string | undefined; /** * Canonical filename stem for a chart-overlay drawing part — used by * the reader to recognise `xl/drawings/chartUserShapeN.xml` entries * and stash their bytes for post-load reconciliation onto the owning * chart. Returns `undefined` for any other path, including regular * worksheet drawings (those go through {@link getDrawingNameFromPath}). */ export declare function getChartUserShapesNameFromPath(path: string): string | undefined; export declare function getVmlDrawingNameFromPath(path: string): string | undefined; export declare function getVmlDrawingHFNameFromPath(path: string): string | undefined; /** * Check if a zip entry path is a comments XML file. * Works for both `xl/comments1.xml` and `xl/comments/comment1.xml`. */ export declare function isCommentsPath(path: string): boolean; export declare function getTableNameFromPath(path: string): string | undefined; export declare function getPivotTableNameFromPath(path: string): string | undefined; export declare function getPivotTableNameFromRelsPath(path: string): string | undefined; export declare function getPivotCacheDefinitionNameFromPath(path: string): string | undefined; export declare function getPivotCacheDefinitionNameFromRelsPath(path: string): string | undefined; export declare function getPivotCacheRecordsNameFromPath(path: string): string | undefined; /** * Extract the 1-based index `N` from `xl/externalLinks/externalLink{N}.xml`. * Returns the raw integer (e.g. `1` for externalLink1.xml) or undefined. */ export declare function getExternalLinkIndexFromPath(path: string): number | undefined; /** * Extract the 1-based index `N` from * `xl/externalLinks/_rels/externalLink{N}.xml.rels`. */ export declare function getExternalLinkIndexFromRelsPath(path: string): number | undefined; export declare function toContentTypesPartName(zipPath: string): string; export declare function themePath(themeName: string): string; export declare function mediaPath(filename: string): string; export declare function worksheetPath(sheetId: number | string): string; export declare function worksheetRelsPath(sheetId: number | string): string; export declare function worksheetRelTarget(sheetId: number | string): string; export declare function commentsPath(sheetId: number | string): string; export declare function commentsPathFromName(commentName: string): string; /** * Modern Office 365 "threaded comments" — separate from classic VML * comments. Each worksheet that uses threaded comments has its own * `xl/threadedComments/threadedComment{N}.xml` part alongside the * legacy `xl/comments{N}.xml` (classic comments carry a fallback text * representation, threaded comments carry the conversation tree). */ export declare function threadedCommentsPath(sheetId: number | string): string; export declare function threadedCommentsPathFromName(name: string): string; /** * Modern Office 365 "persons" list — the directory of commenters * referenced by `threadedComment/@personId`. Workbook-level single * part (`xl/persons/person.xml` is the conventional filename for the * primary, rarely-duplicated list). */ export declare function personsPath(): string; export declare function vmlDrawingPath(sheetId: number | string): string; export declare function vmlDrawingHFPath(sheetId: number | string): string; export declare function vmlDrawingHFRelsPath(sheetId: number | string): string; export declare function tablePath(target: string): string; export declare function drawingPath(drawingName: string): string; export declare function drawingRelsPath(drawingName: string): string; export declare function pivotCacheDefinitionPath(n: number | string): string; export declare function pivotCacheDefinitionRelsPath(n: number | string): string; export declare function pivotCacheRecordsPath(n: number | string): string; export declare function pivotCacheRecordsRelTarget(n: number | string): string; export declare function pivotTablePath(n: number | string): string; export declare function pivotTablePathFromName(name: string): string; export declare function pivotTableRelsPath(n: number | string): string; export declare function externalLinkPath(n: number | string): string; export declare function externalLinkRelsPath(n: number | string): string; /** * Build the `Target` value for an externalLink relationship inside * `xl/_rels/workbook.xml.rels` (base: `xl/`). */ export declare function externalLinkRelTargetFromWorkbook(n: number | string): string; export declare function pivotCacheDefinitionRelTargetFromPivotTable(n: number | string): string; export declare const OOXML_REL_TARGETS: { readonly workbookStyles: "styles.xml"; readonly workbookSharedStrings: "sharedStrings.xml"; readonly workbookTheme1: "theme/theme1.xml"; readonly workbookFeaturePropertyBag: "featurePropertyBag/featurePropertyBag.xml"; readonly workbookMetadata: "metadata.xml"; }; export declare function pivotCacheDefinitionRelTargetFromWorkbook(n: number | string): string; export declare function commentsRelTargetFromWorksheet(sheetId: number | string): string; export declare function vmlDrawingRelTargetFromWorksheet(sheetId: number | string): string; export declare function vmlDrawingHFRelTargetFromWorksheet(sheetId: number | string): string; export declare function drawingRelTargetFromWorksheet(drawingName: string): string; export declare function pivotTableRelTargetFromWorksheet(n: number | string): string; export declare function tableRelTargetFromWorksheet(target: string): string; export declare function mediaRelTargetFromRels(filename: string): string; export declare function ctrlPropPath(id: number | string): string; export declare function getChartNumberFromPath(path: string): number | undefined; export declare function getChartNumberFromRelsPath(path: string): number | undefined; export declare function getChartStyleNumberFromPath(path: string): number | undefined; export declare function getChartColorsNumberFromPath(path: string): number | undefined; export declare function getChartExStyleNumberFromPath(path: string): number | undefined; export declare function getChartExColorsNumberFromPath(path: string): number | undefined; export declare function chartPath(n: number | string): string; export declare function chartRelsPath(n: number | string): string; export declare function chartStylePath(n: number | string): string; export declare function chartColorsPath(n: number | string): string; export declare function chartExStylePath(n: number | string): string; export declare function chartExColorsPath(n: number | string): string; export declare function chartRelTargetFromDrawing(n: number | string): string; /** * Path of the DrawingML overlay part backing a chart's `c:userShapes` * reference. Placed under `xl/drawings/` with a `chartUserShape` prefix * (rather than sharing the regular `drawingN` pool) so the writer can * allocate it by chart number without colliding with worksheet * drawings. Excel itself is indifferent to the part path — only the * rel target matters — so files loaded with a different original * path are renamed on write. */ export declare function chartUserShapesPath(n: number | string): string; /** * Target path emitted inside `xl/charts/_rels/chartN.xml.rels` for the * user-shapes drawing part. Resolved relative to the rels file's * base directory (`xl/charts/`). */ export declare function chartUserShapesRelTarget(n: number | string): string; export declare function chartStyleRelTarget(n: number | string): string; export declare function chartColorsRelTarget(n: number | string): string; export declare function chartExStyleRelTarget(n: number | string): string; export declare function chartExColorsRelTarget(n: number | string): string; export declare function isChartPath(path: string): boolean; export declare function isChartStylePath(path: string): boolean; export declare function isChartColorsPath(path: string): boolean; export declare function isChartRelsPath(path: string): boolean; export declare function getChartExNumberFromPath(path: string): number | undefined; export declare function getChartExNumberFromRelsPath(path: string): number | undefined; export declare function chartExPath(n: number | string): string; export declare function chartExRelsPath(n: number | string): string; export declare function chartExRelTargetFromDrawing(n: number | string): string; export declare function isChartExPath(path: string): boolean; export declare function isChartExRelsPath(path: string): boolean; export declare function ctrlPropRelTargetFromWorksheet(id: number | string): string; /** * Resolve a relationship Target (relative or absolute) to a normalized zip path. * * OOXML relationship targets may be: * - Relative: `../comments1.xml` (resolved against `baseDir`) * - Absolute: `/xl/comments/comment1.xml` (leading slash stripped) * * @param baseDir The directory containing the source part (e.g. `xl/worksheets/`) * @param target The raw Target value from the .rels file */ export declare function resolveRelTarget(baseDir: string, target: string): string; export declare function getChartsheetNoFromPath(path: string): number | undefined; export declare function getChartsheetNoFromRelsPath(path: string): number | undefined; export declare function chartsheetPath(n: number | string): string; export declare function chartsheetRelsPath(n: number | string): string; export declare function isChartsheetPath(path: string): boolean; export declare function isChartsheetRelsPath(path: string): boolean;