import { JavaClasses } from "./util/JavaTypes.js";
import TimeUnits from "./util/TimeUnits.js";
export default class System {
    static getExecutableFile(executableName: string, executableFolder?: string | JavaClasses.File, isInPath?: boolean): string;
    /**
     * @deprecated Please use System.getExecutableFile
     */
    static getExecutableName(baseName: string): string;
    /**
     * Controls whether by default, if the execution of commands should print the output to the console
     **/
    static defaultPrintToConsole: boolean;
    /**
     * @returns Can be undefined, null or the name of a file. If undefined, prints the output to the console; if null, does not print the output to the console; otherwise should be a string with the name of the file where the output will be written (in this case, no output is printed in the console).
     */
    static execute(command: string, workingDir?: string, printToConsole?: boolean, outputFile?: string | JavaClasses.File, append?: boolean, timeout?: number, timeunit?: TimeUnits): string | undefined;
    static sleep(durantionMilis: number): void;
    /**
     * @returns The current value of the running Java Virtual Machine's high-resolution time source, in nanoseconds
     */
    static nanos(): number;
    static toc(nanoStart: number, message?: string): string;
    static getNumLogicalCores(): number;
    static getCurrentFile(depth: number): string | undefined;
    static getCurrentFolder(depth: number): string | undefined;
    private static getCurrentFilePrivate;
}
//# sourceMappingURL=System.d.ts.map