@constructorfleet/ultimate-govee
Version:
Library for interacting with Govee devices written in Typescript.
30 lines • 1.28 kB
TypeScript
import { AxiosResponse } from 'axios';
import { Optional } from '../../common';
import { ClassConstructor } from 'class-transformer';
export interface ApiResponseStatus {
statusCode: number;
message: string;
}
export declare class ApiError extends Error {
readonly status: ApiResponseStatus;
constructor(message: string, status: ApiResponseStatus);
}
export declare class BaseRequest {
constructor();
}
export declare class BaseResponse {
constructor();
message?: string;
msg?: string;
status: number;
}
export declare class Request<PayloadType extends BaseRequest> {
private url;
private headers;
private payload;
constructor(url: string, headers: Record<string, string>, payload?: PayloadType | undefined);
get<ResponseType>(as?: ClassConstructor<ResponseType>, saveToFile?: Optional<string>): Promise<AxiosResponse<ResponseType | ResponseType[]>>;
post<ResponseType extends BaseResponse>(as?: ClassConstructor<ResponseType>, saveToFile?: Optional<string>): Promise<AxiosResponse<ResponseType>>;
}
export declare function request<PayloadType extends BaseRequest = BaseRequest>(url: string, headers: Record<string, string>, payload?: PayloadType | undefined): Request<PayloadType>;
//# sourceMappingURL=request.util.d.ts.map