import querystring from "querystring";
export type SMAResponse = {
    err: number;
} & {
    result: any;
};
export declare function isSMAResponse(response: unknown): response is SMAResponse;
export declare function createClient(host: string, role?: string, password?: string): Promise<Client>;
export declare class Client {
    host: string;
    role: string;
    password: string;
    port: number;
    protocol: string;
    metadata: Record<string, any>;
    codes: Record<string, any>;
    sessionID: string;
    constructor(host: string, role?: string, password?: string);
    init(): Promise<any>;
    _get(path: string, query?: querystring.ParsedUrlQueryInput | undefined): Promise<SMAResponse>;
    _post(path: string, query?: querystring.ParsedUrlQueryInput | undefined, data?: object): Promise<SMAResponse>;
    _postWithSession(path: string, query: querystring.ParsedUrlQueryInput | undefined, data: object): Promise<SMAResponse>;
    login(password: string, role?: string): Promise<Record<string, any>>;
    getAllOnlValues(devices?: string[]): Promise<Record<string, any>>;
}
//# sourceMappingURL=client.d.ts.map