import type { XMLBuilder } from 'fast-xml-parser'; import fs from 'fs'; import type { AppContext } from '../types/context.js'; interface FileUtilsInterface { fileExists: (options: { filePath: string; fs: typeof fs; workspaceRoot?: string; }) => Promise; readFile: (ctx: AppContext, filePath: string, convert?: boolean, fsTmp?: typeof fs) => Promise; createDirectory: (dirPath: string) => Promise; writeFile: (ctx: AppContext, fileName: string, data: string, atime?: Date, mtime?: Date, fsTmp?: typeof fs) => Promise; saveFile: (ctx: AppContext, json: unknown, fileName: string, format?: string, fsTmp?: typeof fs, useBatching?: boolean) => Promise; } interface XMLBuilderInterface { XMLBuilder: new (options?: { ignoreAttributes?: boolean; attributesGroupName?: string; attributeNamePrefix?: string; format?: boolean; suppressEmptyNode?: boolean; rootNodeName?: string; xmlDeclaration?: { include?: boolean; encoding?: string; version?: string; }; }) => XMLBuilder; } interface PackageNode { members: string[]; name?: string; [key: string]: unknown; } interface PackageJSON { Package: { $: { xmlns: string; }; version?: string; types?: PackageNode[]; }; } export declare class Package { xmlPath: string; packageJSON: PackageJSON | undefined; constructor(xmlPath: string); getPackageXML(ctx: AppContext, fileUtils: FileUtilsInterface): Promise; addMember(type: string, member: string, format?: string): void; savePackage(ctx: AppContext, xmlBuilderModule: XMLBuilderInterface, fileUtils: FileUtilsInterface): Promise; } export {}; //# sourceMappingURL=packageUtil.d.ts.map