@bitzonegaming/roleplay-engine-sdk
Version:
Roleplay Engine SDK
51 lines (50 loc) • 1.9 kB
TypeScript
import { ClientConfigs } from './client-configs';
import { Authorization } from '../auth/authorization';
import { AxiosRequestConfig, AxiosResponse } from 'axios';
export type ApiOptions = {
correlationId?: string;
characterId?: string;
executorUser?: string;
};
type RequestConfigWithApiOptions = AxiosRequestConfig & ApiOptions;
export type RequestConfig = Omit<RequestConfigWithApiOptions, 'url' | 'method'>;
export declare class EngineClient {
private configs;
private authorization?;
private axiosInstance;
constructor(configs: ClientConfigs, authorization?: Authorization | undefined);
setAuthorization(authorization: Authorization): void;
changeLocale(locale: string): void;
request<T>(config: RequestConfigWithApiOptions): Promise<AxiosResponse<T>>;
get<TResp>({ url, query, options, }: {
url: string;
query?: Record<string, unknown>;
options?: Omit<RequestConfig, 'url' | 'method'>;
}): Promise<TResp>;
post<TReq, TResp>({ url, data, query, options, }: {
url: string;
data?: TReq;
query?: Record<string, unknown>;
options?: Omit<RequestConfig, 'url' | 'method'>;
}): Promise<TResp>;
put<TReq, TResp>({ url, data, query, options, }: {
url: string;
data?: TReq;
query?: Record<string, unknown>;
options?: Omit<RequestConfig, 'url' | 'method'>;
}): Promise<TResp>;
patch<TReq, TResp>({ url, data, query, options, }: {
url: string;
data?: TReq;
query?: Record<string, unknown>;
options?: Omit<RequestConfig, 'url' | 'method'>;
}): Promise<TResp>;
delete<TResp>({ url, query, options, }: {
url: string;
query?: Record<string, unknown>;
options?: Omit<RequestConfig, 'url' | 'method'>;
}): Promise<TResp>;
private getHeaders;
private appendQuery;
}
export {};