import { JsType, Nominal, Win32Type } from '../@types/win32'; /** * The AutoIt class provides a wrapper around the AutoItX3 DLL, allowing you to call AutoIt functions from * JavaScript. */ export declare class AutoIt { private readonly path; private readonly logger; private lib; private functionCache; constructor(); /** * Loads the AutoItX3 DLL. This method must be called before invoking any AutoIt functions. This is done so * that if you're working in a multi-threaded environment, each thread has its own instance of the AutoItX3 * DLL open. */ load(): void; /** * Unloads the AutoItX3 DLL. */ unload(): void; /** * Checks if the AutoItX3 DLL is loaded. */ get isLoaded(): boolean; /** * Invokes a function from the AutoItX3 DLL synchronously. * * @param functionName The name of the function to invoke. * @param functionReturnType The return type of the function. * @param functionArgumentTypes The argument types of the function. * @param functionArguments The arguments to pass to the function. * * @returns The result of the function call. */ invoke>, const FunctionArgumentTypes extends Win32Type>[]>(functionName: string, functionReturnType: FunctionReturnType, functionArgumentTypes: FunctionArgumentTypes, functionArguments: unknown[]): NonNullable>; /** * Invokes a function from the AutoItX3 DLL asynchronously. * * @param functionName The name of the function to invoke. * @param functionReturnType The return type of the function. * @param functionArgumentTypes The argument types of the function. * @param functionArguments The arguments to pass to the function. * * @returns A promise that resolves with the result of the function call. */ invokeAsync>, const FunctionArgumentTypes extends Win32Type>[]>(functionName: string, functionReturnType: FunctionReturnType, functionArgumentTypes: FunctionArgumentTypes, functionArguments: unknown[]): Promise>>; private getFunction; } /** * The default AutoIt singleton ready for use anywhere in your code. * * @example * ```typescript * import { autoit, ControlClick } from '@ahmic/autoit-js'; * * autoit.load(); * * ControlClick('Untitled - Notepad', '', 'Edit1'); * ``` */ export declare const autoit: AutoIt;