tsme-metering
Version:
A useful lib and CLI to collect water meter data from your TSME group provider account
31 lines • 1.09 kB
TypeScript
import { AxiosInstance, AxiosResponse } from "axios";
import { CookieJar } from "tough-cookie";
type BaseProviderOptions = {
baseUrl: string;
loginEndpoint: string;
dashboardEndpoint: string;
metersListEndpoint: string;
meteringEndpoint: string;
};
export type MeteringData = {
date: Date;
index: number | null;
volume: number;
};
export default abstract class BaseProviderClient {
protected email: string;
protected password: string;
protected options: BaseProviderOptions;
protected _isLoggedIn: boolean;
protected axios: AxiosInstance;
protected jar: CookieJar;
constructor(options: BaseProviderOptions, email?: string | undefined, password?: string | undefined);
isLoggedIn(): boolean;
protected checkApiResponse(response: AxiosResponse): boolean;
protected extractCsrf(loginPage: AxiosResponse): string;
protected login(): Promise<boolean>;
getMetersIds(): Promise<string[]>;
getMetering(meterId: string, from?: Date, to?: Date): Promise<MeteringData[]>;
}
export {};
//# sourceMappingURL=base.d.ts.map