export declare const NodeJavaPrefix = "nodeJava_";
export declare namespace JavaClasses {
    interface JavaClass {
        (...args: unknown[]): any;
        new (...args: unknown[]): any;
        [key: string]: any;
    }
    interface LaraI extends JavaClass {
    }
    interface LaraApiTools extends JavaClass {
    }
    interface LaraSystemTools extends JavaClass {
        runCommand(command: string | JavaClasses.List<string>, workingDir: string, printToConsole: boolean, timeoutNanos?: number): JavaClasses.ProcessOutputAsString;
    }
    interface LaraCli extends JavaClass {
    }
    interface Uuid extends JavaClass {
    }
    interface Gprofer extends JavaClass {
    }
    interface JoinPoint extends JavaClass {
    }
    interface SpecsStrings extends JavaClass {
        escapeJson(str: string): string;
    }
    interface SpecsSystem extends JavaClass {
    }
    interface ApacheStrings extends JavaClass {
    }
    interface StringLines extends JavaClass {
    }
    interface LaraIo extends JavaClass {
    }
    interface SpecsIo extends JavaClass {
    }
    interface System extends JavaClass {
        nanoTime(): number;
    }
    interface File extends JavaClass {
        getParentFile(): JavaClasses.File;
        getAbsolutePath(): string;
    }
    interface List<T> extends JavaClass {
        [Symbol.iterator](): IterableIterator<T>;
        toArray(): T[];
    }
    interface Collections extends JavaClass {
    }
    interface Diff extends JavaClass {
    }
    interface XStreamUtils extends JavaClass {
        toString(obj: any): string;
    }
    interface Object extends JavaClass {
    }
    interface CsvReader extends JavaClass {
    }
    interface CsvWriter extends JavaClasses.JavaClass {
    }
    interface CsvField extends JavaClasses.JavaClass {
    }
    interface DataStore extends JavaClass {
    }
    interface JOptionsUtils extends JavaClass {
    }
    interface WeaverEngine extends JavaClass {
    }
    interface LaraiKeys extends JavaClass {
    }
    interface FileList extends JavaClass {
    }
    interface OptionalFile extends JavaClass {
    }
    interface LaraIUtils extends JavaClass {
    }
    interface WeaverLauncher extends JavaClass {
    }
    interface ArrayList extends JavaClass {
    }
    interface HashMap extends JavaClass {
    }
    interface SpecsPlatforms extends JavaClass {
    }
    interface Runtime extends JavaClass {
    }
    interface ProcessOutputAsString extends JavaClass {
        getOutput(): string;
    }
    interface ProgressCounter extends JavaClasses.JavaClass {
    }
    interface LineStream extends JavaClasses.JavaClass {
    }
}
export default class JavaTypes {
    private static typeMap;
    /**
     * @beta Only for very exceptional cases. Should not be used directly, use the static methods instead.
     *
     * @param javaTypeName - String with the name of the Java type to be imported into the javascript environment
     * @returns A Java object
     */
    static getType(javaTypeName: string): any;
    static instanceOf<T>(value: T, javaTypeName: string): boolean;
    static isJavaObject<T>(value: T): boolean;
    static get LaraI(): JavaClasses.LaraI;
    static get LaraApiTool(): JavaClasses.LaraApiTools;
    static get LaraSystemTools(): JavaClasses.LaraSystemTools;
    static get LaraCli(): JavaClasses.LaraCli;
    static get Uuid(): JavaClasses.Uuid;
    static get Gprofer(): JavaClasses.Gprofer;
    static get JoinPoint(): JavaClasses.JoinPoint;
    static get SpecsStrings(): JavaClasses.SpecsStrings;
    static get SpecsSystem(): JavaClasses.SpecsSystem;
    static get ApacheStrings(): JavaClasses.ApacheStrings;
    static get StringLines(): JavaClasses.StringLines;
    static get LaraIo(): JavaClasses.LaraIo;
    static get SpecsIo(): JavaClasses.SpecsIo;
    static get System(): JavaClasses.System;
    static get File(): JavaClasses.File;
    static get Collections(): JavaClasses.Collections;
    static get Diff(): JavaClasses.Diff;
    static get XStreamUtils(): JavaClasses.XStreamUtils;
    static get Object(): JavaClasses.Object;
    static get CsvReader(): JavaClasses.CsvReader;
    static get CsvField(): JavaClasses.CsvField;
    static get CsvWriter(): JavaClasses.CsvWriter;
    static get DataStore(): JavaClasses.DataStore;
    static get JOptionsUtils(): JavaClasses.JOptionsUtils;
    static get WeaverEngine(): JavaClasses.WeaverEngine;
    static get LaraiKeys(): JavaClasses.LaraiKeys;
    static get FileList(): JavaClasses.FileList;
    static get OptionalFile(): JavaClasses.OptionalFile;
    static get LaraIUtils(): JavaClasses.LaraIUtils;
    static get WeaverLauncher(): JavaClasses.WeaverLauncher;
    static get ArrayList(): JavaClasses.List<any>;
    static get HashMap(): JavaClasses.HashMap;
    static get SpecsPlatforms(): JavaClasses.SpecsPlatforms;
    static get Runtime(): JavaClasses.Runtime;
    static get ProcessOutputAsString(): JavaClasses.ProcessOutputAsString;
    static get ProgressCounter(): JavaClasses.ProgressCounter;
    static get LineStream(): JavaClasses.LineStream;
}
//# sourceMappingURL=JavaTypes.d.ts.map