export interface JsonFileDiagnostics {
    label: string;
    path: string;
    resolvedPath: string;
    exists: boolean;
    isSymlink: boolean;
    isRegularFile: boolean;
    sizeBytes: number | null;
    mtimeMs: number | null;
    parseError: string | null;
    readError: string | null;
}
export interface JsonFileProbe {
    diagnostics: JsonFileDiagnostics;
    json: Record<string, unknown> | null;
    rawText: string;
}
interface WriteJsonObjectFileInput {
    filePath: string;
    rawText: string;
    expectedMtime?: number;
    fileLabel?: string;
    dirMode?: number;
    fileMode?: number;
}
interface WriteJsonObjectFileResult {
    mtime: number;
}
export declare class JsonFileValidationError extends Error {
    constructor(message: string);
}
export declare class JsonFileConflictError extends Error {
    readonly code = "CONFLICT";
    readonly mtime: number;
    constructor(message: string, mtime: number);
}
export declare function probeJsonObjectFile(filePath: string, label: string, displayPath: string): Promise<JsonFileProbe>;
export declare function parseJsonObjectText(rawText: string, fieldName?: string): Record<string, unknown>;
export declare function writeJsonObjectFileAtomic(input: WriteJsonObjectFileInput): Promise<WriteJsonObjectFileResult>;
export {};
//# sourceMappingURL=compatible-cli-json-file-service.d.ts.map