/**
* Cross-Platform File Permissions Utility
*
* Provides secure file permission handling across Linux, macOS, and Windows.
*
* On Unix systems (Linux/macOS):
* - Uses standard chmod-style permissions (0o600, 0o700, etc.)
*
* On Windows:
* - Uses icacls to restrict file access to current user only
* - Falls back gracefully if icacls fails
*
* Added by Pantheon Security for cross-platform support.
*/
///
///
/**
* Platform detection
*/
export declare const isWindows: boolean;
export declare const isMacOS: boolean;
export declare const isLinux: boolean;
export declare const isUnix: boolean;
/**
* Common permission modes (Unix-style)
*/
export declare const PERMISSION_MODES: {
/** Owner read/write only (files with sensitive data) */
readonly OWNER_READ_WRITE: 384;
/** Owner read/write/execute only (directories, executables) */
readonly OWNER_FULL: 448;
/** Owner read/write, group/others read (less sensitive files) */
readonly OWNER_WRITE_ALL_READ: 420;
/** Owner full, group/others read+execute (less sensitive directories) */
readonly OWNER_FULL_ALL_READ_EXECUTE: 493;
};
/**
* Set secure file permissions (owner-only access)
*
* @param filePath - Path to the file
* @param mode - Unix permission mode (default: 0o600)
* @returns true if permissions were set successfully
*/
export declare function setSecureFilePermissions(filePath: string, mode?: number): boolean;
/**
* Set secure directory permissions (owner-only access)
*
* @param dirPath - Path to the directory
* @param mode - Unix permission mode (default: 0o700)
* @returns true if permissions were set successfully
*/
export declare function setSecureDirectoryPermissions(dirPath: string, mode?: number): boolean;
/**
* Create a directory with secure permissions
*
* @param dirPath - Path to create
* @param mode - Unix permission mode (default: 0o700)
*/
export declare function mkdirSecure(dirPath: string, mode?: number): void;
/**
* Write a file with secure permissions
*
* @param filePath - Path to write
* @param content - Content to write
* @param mode - Unix permission mode (default: 0o600)
*/
export declare function writeFileSecure(filePath: string, content: string | Buffer, mode?: number): void;
/**
* Append to a file with secure permissions
*
* @param filePath - Path to append to
* @param content - Content to append
* @param mode - Unix permission mode (default: 0o600)
*/
export declare function appendFileSecure(filePath: string, content: string | Buffer, mode?: number): void;
/**
* Get platform information for logging/debugging
*/
export declare function getPlatformInfo(): {
platform: string;
isWindows: boolean;
isMacOS: boolean;
isLinux: boolean;
supportsUnixPermissions: boolean;
supportsWindowsACLs: boolean;
};