import { ErrorInterface, SuccessInterface } from "../../config/Interfaces/Helper/response.helper.interface";
export default class FileManager {
    private readonly responseHelper;
    private readonly WorkerProcess;
    constructor();
    /**
     * Writes data to a file at the specified path.
     *
     * @param path - The path where the file will be written.
     * @param data - The data to be written to the file.
     * @returns A promise that resolves to a SuccessInterface if the file is written successfully,
     * or an ErrorInterface if an error occurs.
     */
    WriteFile(path: string, data: string): Promise<SuccessInterface | ErrorInterface>;
    /**
     * Reads the content of a file at the specified path.
     *
     * @param path - The path to the file to be read.
     * @returns A promise that resolves to a SuccessInterface containing the file data if the read operation is successful,
     * or an ErrorInterface if an error occurs.
     */
    ReadFile(path: string): Promise<SuccessInterface | ErrorInterface>;
    /**
     * Deletes a file at the specified path.
     *
     * @param {string} path - The path to the file to be deleted.
     * @returns {Promise<SuccessInterface | ErrorInterface>} A promise that resolves to a SuccessInterface if the file is deleted successfully, or an ErrorInterface if an error occurs.
     */
    DeleteFile(path: string): Promise<SuccessInterface | ErrorInterface>;
    /**
     * Checks if a file exists at the given path.
     *
     * @param path - The path to the file.
     * @returns A promise that resolves to a SuccessInterface if the file exists,
     *          or an ErrorInterface if the file does not exist.
     */
    FileExists(path: string): Promise<SuccessInterface | ErrorInterface>;
    /**
     * Creates a new file at the specified path.
     *
     * @param path - The path where the new file will be created.
     * @returns A promise that resolves to a SuccessInterface if the file is created successfully,
     * or an ErrorInterface if there is an error during file creation.
     */
    CreateFile(path: string): Promise<SuccessInterface | ErrorInterface>;
    /**
     * Locks the specified file by changing its permissions to read-only.
     *
     * @param path - The path to the file to be locked.
     * @returns A promise that resolves to a SuccessInterface if the file is locked successfully,
     * or an ErrorInterface if an error occurs.
     */
    LockFile(path: string): Promise<SuccessInterface | ErrorInterface>;
    /**
     * Unlocks the file at the specified path by changing its permissions to 777.
     *
     * @param {string} path - The path to the file to be unlocked.
     * @returns {Promise<SuccessInterface | ErrorInterface>} A promise that resolves to a SuccessInterface if the file is unlocked successfully, or an ErrorInterface if an error occurs.
     */
    UnlockFile(path: string): Promise<SuccessInterface | ErrorInterface>;
    /**
     * Moves a file from the specified old path to the new path.
     *
     * @param oldPath - The current path of the file to be moved.
     * @param newPath - The destination path where the file should be moved.
     * @returns A promise that resolves to a SuccessInterface if the file is moved successfully,
     * or an ErrorInterface if an error occurs during the file move operation.
     */
    MoveFile(oldPath: string, newPath: string): Promise<SuccessInterface | ErrorInterface>;
    /**
     * Checks if the file at the given path is locked.
     *
     * A file is considered locked if its permissions are set to read-only for the owner (mode 0o400).
     *
     * @param path - The path to the file to check.
     * @returns A promise that resolves to a SuccessInterface if the file is locked, or an ErrorInterface if an error occurs.
     */
    IsFileLocked(path: string): Promise<SuccessInterface | ErrorInterface>;
    /**
     * Retrieves the size of a file in bytes.
     *
     * @param path - The path to the file.
     * @returns A promise that resolves to a SuccessInterface containing the file size in bytes,
     * or an ErrorInterface if an error occurs.
     */
    GetFileSize(path: string): Promise<SuccessInterface | ErrorInterface>;
}
