import fs from 'fs'; import type { Package } from '../lib/packageUtil.js'; import type { AppContext } from '../types/context.js'; import type { MetadataDefinition } from '../types/metadata.js'; export interface FileStats { atime: Date | undefined; mtime: Date | undefined; } /** * Updates file stats with the latest access and modification times * @param fileStats Current file stats to update * @param stats File system stats to compare against * @returns Updated file stats with latest atime and mtime */ export declare function updateFileStats(fileStats: FileStats, stats: fs.Stats | undefined): FileStats; interface CombineConfig { ctx: AppContext; metadataDefinition: MetadataDefinition; sourceDir: string; targetDir: string; metaDir: string; sequence: number; total: number; addPkg: Package; desPkg: Package; } export declare class Combine { #private; ctx: AppContext; private _metadataDefinition; sourceDir: string; targetDir: string; private _metaDir; private _sequence; total: number; addPkg: Package; desPkg: Package; constructor(config: CombineConfig); get metadataDefinition(): MetadataDefinition; set metadataDefinition(definition: MetadataDefinition); get metaDir(): string; set metaDir(metaDir: string); get sequence(): number; set sequence(sequence: number); combine(): Promise; } /** * Sorts a JSON array by a specified key * @param json JSON value (should be an array) * @param key Key to sort by * @returns Sorted JSON array */ export declare function sortJSON(json: unknown, key: string | undefined): unknown; /** * Compares two keys for sorting based on xmlOrder * @param a First key * @param b Second key * @param xmlOrder Array defining the order of keys * @returns Comparison result: -1 if a < b, 1 if a > b, 0 if equal */ export declare function compareKeysForXmlOrder(a: string, b: string, xmlOrder: string[] | undefined): number; export {}; //# sourceMappingURL=combine.d.ts.map