export declare const MANAGED_PREFIX = "SHREY-JUNIOR";
export type WriteStatus = "created" | "updated" | "appended" | "unchanged" | "conflict";
export interface WriteResult {
    path: string;
    status: WriteStatus;
    detail: string;
    addedLines?: number;
    removedLines?: number;
    backupPath?: string;
}
export interface WritePlan extends WriteResult {
    currentContent?: string;
    nextContent?: string;
}
export declare function pathExists(filePath: string): Promise<boolean>;
export declare function ensureDir(dirPath: string): Promise<void>;
export declare function readText(filePath: string): Promise<string>;
export declare function readJson<T>(filePath: string): Promise<T>;
export declare function writeText(filePath: string, content: string): Promise<void>;
export declare function renderTemplate(template: string, values: Record<string, string>): string;
export declare function managedBlockStart(name: string): string;
export declare function managedBlockEnd(name: string): string;
export declare function managedFileStart(name: string): string;
export declare function managedFileEnd(name: string): string;
export declare function wrapManagedBlock(name: string, content: string): string;
export declare function wrapManagedFile(name: string, content: string): string;
export declare function fileContainsManagedFile(filePath: string, logicalName: string): Promise<boolean>;
export declare function upsertManagedFile(filePath: string, logicalName: string, content: string): Promise<WriteResult>;
export declare function upsertManagedBlock(filePath: string, blockName: string, content: string): Promise<WriteResult>;
export declare function slugify(input: string): string;
export declare function normalizeRepoPath(filePath: string): string;
export declare function relativeFrom(root: string, filePath: string): string;
export declare function renderDisplayPath(root: string, filePath: string): string;
export declare function isIgnoredArtifactName(name: string): boolean;
export declare function planManagedFile(filePath: string, logicalName: string, content: string): Promise<WritePlan>;
export declare function planCreateOnlyFile(filePath: string, logicalName: string, content: string, options?: {
    managed?: boolean;
}): Promise<WritePlan>;
export declare function planManagedBlock(filePath: string, blockName: string, content: string): Promise<WritePlan>;
export declare function applyWritePlan(plan: WritePlan, options?: {
    backupPath?: string;
}): Promise<WriteResult>;
export declare function diffLineCounts(before: string, after: string): {
    addedLines: number;
    removedLines: number;
};
export declare function hasConsistentManagedMarkers(content: string): boolean;
//# sourceMappingURL=fs.d.ts.map