import type { AppContext } from '../types/context.js'; import type { MetadataDefinition } from '../types/metadata.js'; interface SplitConfig { ctx: AppContext; metadataDefinition: MetadataDefinition; sourceDir: string; targetDir: string; metaFilePath: string; sequence: number; total: number; keepFalseValues?: boolean; } export declare class Split { #private; ctx: AppContext; private _metadataDefinition; sourceDir: string; targetDir: string; private _metaFilePath; private _sequence; total: number; constructor(config: SplitConfig); get metadataDefinition(): MetadataDefinition; set metadataDefinition(definition: MetadataDefinition); get keepFalseValues(): boolean; private getXmlParser; get metaFilePath(): string; set metaFilePath(value: string); initializeFileName(): Promise; get sequence(): number; set sequence(value: number); split(): Promise; } /** * Compares two keys for sorting based on keyOrder * @param a First key * @param b Second key * @param keyOrder Array defining the order of keys * @returns Comparison result: -1 if a < b, 1 if a > b, 0 if equal */ export declare function compareKeysForKeyOrder(a: string, b: string, keyOrder: string[]): number; /** * Internal function to perform boolean comparison - extracted for testability * Can be mocked in tests to trigger error paths * @internal */ export declare function compareBooleanValue(value: unknown, target: string): boolean; /** * Converts a boolean string value to a boolean, with error handling * @param value Value to convert * @param onError Optional error callback * @returns Converted value or original value if conversion fails */ export declare function convertBooleanValue(value: unknown, onError?: (error: Error) => void): unknown; /** * Internal function to set the comparison function - for testing only * @internal */ export declare function _setCompareBooleanValue(fn: typeof compareBooleanValue): void; /** * Internal function to reset the comparison function - for testing only * @internal */ export declare function _resetCompareBooleanValue(): void; /** * Handles sandbox login IP ranges during profile split * Reads loginIpRanges-sandbox.yaml from targetDir and saves it back after directory operations * @param targetDir Target directory path * @param fileUtils File utilities interface */ export declare function handleSandboxLoginIpRanges(ctx: AppContext, targetDir: string, fileUtils: typeof import('../lib/fileUtils.js')): Promise; export {}; //# sourceMappingURL=split.d.ts.map