import BaseParams, { DataCenter } from './interfaces/base-params.js';
interface FormatJsonRequest {
format: 'json';
}
type BaseRequest = {
[key: string]: string | null | number | boolean;
};
type RequestParams
= FormatJsonRequest & P;
type UserParams = BaseParams & BaseRequest;
interface GigyaRequest
{
host: string;
endpoint: string;
params: RequestParams
;
headers: Record;
skipSigning: boolean;
}
declare class RequestFactory {
protected _apiKey: string | undefined;
protected _dataCenter: DataCenter;
constructor(_apiKey: string | undefined, _dataCenter: DataCenter);
create(endpoint: string, userParams: UserParams): GigyaRequest;
private isAnonymousEndpoint;
protected getRequestHost(namespace: string, dataCenter: DataCenter): string;
protected getRequestParams(userParams: UserParams): RequestParams;
}
export { type BaseRequest, type FormatJsonRequest, type GigyaRequest, RequestFactory, type RequestParams, type UserParams };