///
import { Session } from './Session';
import { Gateway } from './Gateway';
import { Auth } from './Auth';
import { WorkId } from './ThinQ';
export declare class API {
protected country: string;
protected language: string;
protected _homes: any;
protected _gateway: Gateway | undefined;
protected session: Session;
protected jsessionId: string;
protected auth: Auth;
protected userNumber: string;
protected username: string;
protected password: string;
client_id: string;
httpClient: import("axios").AxiosInstance;
logger: any;
constructor(country?: string, language?: string);
getRequest(uri: any): Promise;
postRequest(uri: any, data: any): Promise;
protected request(method: any, uri: string, data?: any, retry?: boolean): any;
protected get monitorHeaders(): {
Accept: string;
'x-thinq-application-key': string;
'x-thinq-security-key': string;
};
protected get defaultHeaders(): {
'x-api-key': string;
'x-thinq-app-ver': string;
'x-thinq-app-type': string;
'x-thinq-app-level': string;
'x-thinq-app-os': string;
'x-thinq-app-logintype': string;
'x-service-code': string;
'x-country-code': string;
'x-language-code': string;
'x-service-phase': string;
'x-origin': string;
'x-model-name': string;
'x-os-version': string;
'x-app-version': string;
'x-message-id': string;
'user-agent': string;
};
getSingleDevice(device_id: string): Promise;
getListDevices(): Promise[]>;
getListHomes(): Promise;
sendCommandToDevice(device_id: string, values: Record, command: 'Set' | 'Operation', ctrlKey?: string): Promise;
sendMonitorCommand(deviceId: string, cmdOpt: string, workId: WorkId): Promise;
getMonitorResult(device_id: any, work_id: any): Promise;
setRefreshToken(refreshToken: any): void;
setUsernamePassword(username: any, password: any): void;
gateway(): Promise;
ready(): Promise;
refreshNewToken(session?: Session | null): Promise;
thinq1PostRequest(endpoint: string, data: any): Promise;
}
//# sourceMappingURL=API.d.ts.map