@codeserk/forge-api-public-generated 0.0.0-stage → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","names":["runtime.BaseAPI","runtime.VoidApiResponse","runtime.BaseAPI","runtime.JSONApiResponse","runtime.BaseAPI","runtime.RequiredError","runtime.JSONApiResponse","runtime.BaseAPI","runtime.RequiredError","runtime.JSONApiResponse","runtime.BaseAPI","runtime.RequiredError","runtime.JSONApiResponse","runtime.BaseAPI","runtime.JSONApiResponse"],"sources":["../src/generated/runtime.ts","../src/generated/models/UploadDebugSymbolsSourceMapRequest.ts","../src/generated/models/UploadDebugSymbolsFileRequest.ts","../src/generated/models/UploadDebugSymbolsRequest.ts","../src/generated/apis/DebugSymbolsApi.ts","../src/generated/models/HealthResponse.ts","../src/generated/apis/HealthApi.ts","../src/generated/models/OrganizationResponse.ts","../src/generated/apis/OrganizationApi.ts","../src/generated/models/ProjectPublicSettingsResponse.ts","../src/generated/models/ProjectResponse.ts","../src/generated/apis/ProjectApi.ts","../src/generated/models/GranularityType.ts","../src/generated/models/EventTimeStatsRowResponse.ts","../src/generated/models/StatsAggregationResponse.ts","../src/generated/models/EventTimeStatsAggregationResponse.ts","../src/generated/models/EventTimeStatsResponse.ts","../src/generated/models/StatsDistributionResponse.ts","../src/generated/models/EventTotalStatsValuesResponse.ts","../src/generated/models/EventTotalStatsResponse.ts","../src/generated/models/EventQueryConditionRequest.ts","../src/generated/models/EventQueryRequest.ts","../src/generated/models/Period.ts","../src/generated/models/GetEventQueryStatsRequest.ts","../src/generated/models/SessionTimeStatsRowResponse.ts","../src/generated/models/SessionTimeStatsResponse.ts","../src/generated/models/SessionTotalStatsValuesResponse.ts","../src/generated/models/SessionTotalStatsResponse.ts","../src/generated/models/StatsCardinalityResponse.ts","../src/generated/models/StatsCardinalitiesResponse.ts","../src/generated/models/StatsEventsGlobalDistributionTypeNameResponse.ts","../src/generated/models/StatsEventsGlobalDistributionTypeResponse.ts","../src/generated/models/StatsEventsGlobalDistributionResponse.ts","../src/generated/models/StatsTopAggregationValuesResponse.ts","../src/generated/models/StatsTopAggregationResponse.ts","../src/generated/models/StatsTopResponse.ts","../src/generated/apis/StatsApi.ts","../src/generated/models/IdentifyUserResponse.ts","../src/generated/apis/UserApi.ts","../src/generated/models/FieldError.ts","../src/generated/models/ErrorResponse.ts"],"sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n/**\n * Forge API / Public\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nexport const BASE_PATH = \"http://localhost\".replace(/\\/+$/, \"\");\n\nexport interface ConfigurationParameters {\n basePath?: string; // override base path\n fetchApi?: FetchAPI; // override for fetch implementation\n middleware?: Middleware[]; // middleware to apply before/after fetch requests\n queryParamsStringify?: (params: HTTPQuery) => string; // stringify function for query strings\n username?: string; // parameter for basic security\n password?: string; // parameter for basic security\n apiKey?: string | Promise<string> | ((name: string) => string | Promise<string>); // parameter for apiKey security\n accessToken?: string | Promise<string> | ((name?: string, scopes?: string[]) => string | Promise<string>); // parameter for oauth2 security\n headers?: HTTPHeaders; //header params we want to use on every request\n credentials?: RequestCredentials; //value for the credentials param we want to use on each request\n}\n\nexport class Configuration {\n constructor(private configuration: ConfigurationParameters = {}) {}\n\n set config(configuration: Configuration) {\n this.configuration = configuration;\n }\n\n get basePath(): string {\n return this.configuration.basePath != null ? this.configuration.basePath : BASE_PATH;\n }\n\n get fetchApi(): FetchAPI | undefined {\n return this.configuration.fetchApi;\n }\n\n get middleware(): Middleware[] {\n return this.configuration.middleware || [];\n }\n\n get queryParamsStringify(): (params: HTTPQuery) => string {\n return this.configuration.queryParamsStringify || querystring;\n }\n\n get username(): string | undefined {\n return this.configuration.username;\n }\n\n get password(): string | undefined {\n return this.configuration.password;\n }\n\n get apiKey(): ((name: string) => string | Promise<string>) | undefined {\n const apiKey = this.configuration.apiKey;\n if (apiKey) {\n return typeof apiKey === 'function' ? apiKey : () => apiKey;\n }\n return undefined;\n }\n\n get accessToken(): ((name?: string, scopes?: string[]) => string | Promise<string>) | undefined {\n const accessToken = this.configuration.accessToken;\n if (accessToken) {\n return typeof accessToken === 'function' ? accessToken : async () => accessToken;\n }\n return undefined;\n }\n\n get headers(): HTTPHeaders | undefined {\n return this.configuration.headers;\n }\n\n get credentials(): RequestCredentials | undefined {\n return this.configuration.credentials;\n }\n}\n\nexport const DefaultConfig = new Configuration();\n\n/**\n * This is the base class for all generated API classes.\n */\nexport class BaseAPI {\n\n private static readonly jsonRegex = /^(:?application\\/json|[^;/ \\t]+\\/[^;/ \\t]+[+]json)[ \\t]*(:?;.*)?$/i;\n private middleware: Middleware[];\n\n constructor(protected configuration = DefaultConfig) {\n this.middleware = configuration.middleware;\n }\n\n withMiddleware<T extends BaseAPI>(this: T, ...middlewares: Middleware[]) {\n const next = this.clone<T>();\n next.middleware = next.middleware.concat(...middlewares);\n return next;\n }\n\n withPreMiddleware<T extends BaseAPI>(this: T, ...preMiddlewares: Array<Middleware['pre']>) {\n const middlewares = preMiddlewares.map((pre) => ({ pre }));\n return this.withMiddleware<T>(...middlewares);\n }\n\n withPostMiddleware<T extends BaseAPI>(this: T, ...postMiddlewares: Array<Middleware['post']>) {\n const middlewares = postMiddlewares.map((post) => ({ post }));\n return this.withMiddleware<T>(...middlewares);\n }\n\n /**\n * Check if the given MIME is a JSON MIME.\n * JSON MIME examples:\n * application/json\n * application/json; charset=UTF8\n * APPLICATION/JSON\n * application/vnd.company+json\n * @param mime - MIME (Multipurpose Internet Mail Extensions)\n * @return True if the given MIME is JSON, false otherwise.\n */\n protected isJsonMime(mime: string | null | undefined): boolean {\n if (!mime) {\n return false;\n }\n return BaseAPI.jsonRegex.test(mime);\n }\n\n protected async request(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction): Promise<Response> {\n const { url, init } = await this.createFetchParams(context, initOverrides);\n const response = await this.fetchApi(url, init);\n if (response && (response.status >= 200 && response.status < 300)) {\n return response;\n }\n throw new ResponseError(response, 'Response returned an error code');\n }\n\n private async createFetchParams(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction) {\n let url = this.configuration.basePath + context.path;\n if (context.query !== undefined && Object.keys(context.query).length !== 0) {\n // only add the querystring to the URL if there are query parameters.\n // this is done to avoid urls ending with a \"?\" character which buggy webservers\n // do not handle correctly sometimes.\n url += '?' + this.configuration.queryParamsStringify(context.query);\n }\n\n const headers = Object.assign({}, this.configuration.headers, context.headers);\n Object.keys(headers).forEach(key => headers[key] === undefined ? delete headers[key] : {});\n\n const initOverrideFn =\n typeof initOverrides === \"function\"\n ? initOverrides\n : async () => initOverrides;\n\n const initParams = {\n method: context.method,\n headers,\n body: context.body,\n credentials: this.configuration.credentials,\n };\n\n const overriddenInit: RequestInit = {\n ...initParams,\n ...(await initOverrideFn({\n init: initParams,\n context,\n }))\n };\n\n let body: any;\n if (isFormData(overriddenInit.body)\n || (overriddenInit.body instanceof URLSearchParams)\n || isBlob(overriddenInit.body)) {\n body = overriddenInit.body;\n } else if (this.isJsonMime(headers['Content-Type'])) {\n body = JSON.stringify(overriddenInit.body);\n } else {\n body = overriddenInit.body;\n }\n\n const init: RequestInit = {\n ...overriddenInit,\n body\n };\n\n return { url, init };\n }\n\n private fetchApi = async (url: string, init: RequestInit) => {\n let fetchParams = { url, init };\n for (const middleware of this.middleware) {\n if (middleware.pre) {\n fetchParams = await middleware.pre({\n fetch: this.fetchApi,\n ...fetchParams,\n }) || fetchParams;\n }\n }\n let response: Response | undefined = undefined;\n try {\n response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init);\n } catch (e) {\n for (const middleware of this.middleware) {\n if (middleware.onError) {\n response = await middleware.onError({\n fetch: this.fetchApi,\n url: fetchParams.url,\n init: fetchParams.init,\n error: e,\n response: response ? response.clone() : undefined,\n }) || response;\n }\n }\n if (response === undefined) {\n if (e instanceof Error) {\n throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response');\n } else {\n throw e;\n }\n }\n }\n for (const middleware of this.middleware) {\n if (middleware.post) {\n response = await middleware.post({\n fetch: this.fetchApi,\n url: fetchParams.url,\n init: fetchParams.init,\n response: response.clone(),\n }) || response;\n }\n }\n return response;\n }\n\n /**\n * Create a shallow clone of `this` by constructing a new instance\n * and then shallow cloning data members.\n */\n private clone<T extends BaseAPI>(this: T): T {\n const constructor = this.constructor as any;\n const next = new constructor(this.configuration);\n next.middleware = this.middleware.slice();\n return next;\n }\n};\n\nfunction isBlob(value: any): value is Blob {\n return typeof Blob !== 'undefined' && value instanceof Blob;\n}\n\nfunction isFormData(value: any): value is FormData {\n return typeof FormData !== \"undefined\" && value instanceof FormData;\n}\n\nexport class ResponseError extends Error {\n override name: \"ResponseError\" = \"ResponseError\";\n constructor(public response: Response, msg?: string) {\n super(msg);\n\n // restore prototype chain\n const actualProto = new.target.prototype;\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(this, actualProto);\n }\n }\n}\n\nexport class FetchError extends Error {\n override name: \"FetchError\" = \"FetchError\";\n constructor(public cause: Error, msg?: string) {\n super(msg);\n\n // restore prototype chain\n const actualProto = new.target.prototype;\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(this, actualProto);\n }\n }\n}\n\nexport class RequiredError extends Error {\n override name: \"RequiredError\" = \"RequiredError\";\n constructor(public field: string, msg?: string) {\n super(msg);\n\n // restore prototype chain\n const actualProto = new.target.prototype;\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(this, actualProto);\n }\n }\n}\n\nexport const COLLECTION_FORMATS = {\n csv: \",\",\n ssv: \" \",\n tsv: \"\\t\",\n pipes: \"|\",\n};\n\nexport type FetchAPI = WindowOrWorkerGlobalScope['fetch'];\n\nexport type Json = any;\nexport type HTTPMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS' | 'HEAD';\nexport type HTTPHeaders = { [key: string]: string };\nexport type HTTPQuery = { [key: string]: string | number | null | boolean | Array<string | number | null | boolean> | Set<string | number | null | boolean> | HTTPQuery };\nexport type HTTPBody = Json | FormData | URLSearchParams;\nexport type HTTPRequestInit = { headers?: HTTPHeaders; method: HTTPMethod; credentials?: RequestCredentials; body?: HTTPBody };\nexport type ModelPropertyNaming = 'camelCase' | 'snake_case' | 'PascalCase' | 'original';\n\nexport type InitOverrideFunction = (requestContext: { init: HTTPRequestInit, context: RequestOpts }) => Promise<RequestInit>\n\nexport interface FetchParams {\n url: string;\n init: RequestInit;\n}\n\nexport interface RequestOpts {\n path: string;\n method: HTTPMethod;\n headers: HTTPHeaders;\n query?: HTTPQuery;\n body?: HTTPBody;\n}\n\nexport function querystring(params: HTTPQuery, prefix: string = ''): string {\n return Object.keys(params)\n .map(key => querystringSingleKey(key, params[key], prefix))\n .filter(part => part.length > 0)\n .join('&');\n}\n\nfunction querystringSingleKey(key: string, value: string | number | null | undefined | boolean | Array<string | number | null | boolean> | Set<string | number | null | boolean> | HTTPQuery, keyPrefix: string = ''): string {\n const fullKey = keyPrefix + (keyPrefix.length ? `[${key}]` : key);\n if (value instanceof Array) {\n const multiValue = value.map(singleValue => encodeURIComponent(String(singleValue)))\n .join(`&${encodeURIComponent(fullKey)}=`);\n return `${encodeURIComponent(fullKey)}=${multiValue}`;\n }\n if (value instanceof Set) {\n const valueAsArray = Array.from(value);\n return querystringSingleKey(key, valueAsArray, keyPrefix);\n }\n if (value instanceof Date) {\n return `${encodeURIComponent(fullKey)}=${encodeURIComponent(value.toISOString())}`;\n }\n if (value instanceof Object) {\n return querystring(value as HTTPQuery, fullKey);\n }\n return `${encodeURIComponent(fullKey)}=${encodeURIComponent(String(value))}`;\n}\n\nexport function exists(json: any, key: string) {\n const value = json[key];\n return value !== null && value !== undefined;\n}\n\nexport function mapValues(data: any, fn: (item: any) => any) {\n const result: { [key: string]: any } = {};\n for (const key of Object.keys(data)) {\n result[key] = fn(data[key]);\n }\n return result;\n}\n\nexport function canConsumeForm(consumes: Consume[]): boolean {\n for (const consume of consumes) {\n if ('multipart/form-data' === consume.contentType) {\n return true;\n }\n }\n return false;\n}\n\nexport interface Consume {\n contentType: string;\n}\n\nexport interface RequestContext {\n fetch: FetchAPI;\n url: string;\n init: RequestInit;\n}\n\nexport interface ResponseContext {\n fetch: FetchAPI;\n url: string;\n init: RequestInit;\n response: Response;\n}\n\nexport interface ErrorContext {\n fetch: FetchAPI;\n url: string;\n init: RequestInit;\n error: unknown;\n response?: Response;\n}\n\nexport interface Middleware {\n pre?(context: RequestContext): Promise<FetchParams | void>;\n post?(context: ResponseContext): Promise<Response | void>;\n onError?(context: ErrorContext): Promise<Response | void>;\n}\n\nexport interface ApiResponse<T> {\n raw: Response;\n value(): Promise<T>;\n}\n\nexport interface ResponseTransformer<T> {\n (json: any): T;\n}\n\nexport class JSONApiResponse<T> {\n constructor(public raw: Response, private transformer: ResponseTransformer<T> = (jsonValue: any) => jsonValue) {}\n\n async value(): Promise<T> {\n return this.transformer(await this.raw.json());\n }\n}\n\nexport class VoidApiResponse {\n constructor(public raw: Response) {}\n\n async value(): Promise<void> {\n return undefined;\n }\n}\n\nexport class BlobApiResponse {\n constructor(public raw: Response) {}\n\n async value(): Promise<Blob> {\n return await this.raw.blob();\n };\n}\n\nexport class TextApiResponse {\n constructor(public raw: Response) {}\n\n async value(): Promise<string> {\n return await this.raw.text();\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Forge API / Public\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface UploadDebugSymbolsSourceMapRequest\n */\nexport interface UploadDebugSymbolsSourceMapRequest {\n /**\n * Version of the compact format\n * @type {UploadDebugSymbolsSourceMapRequestFormatVersionEnum}\n * @memberof UploadDebugSymbolsSourceMapRequest\n */\n formatVersion: UploadDebugSymbolsSourceMapRequestFormatVersionEnum;\n /**\n * Indexes of the sources that are third-party code, left out of the error fingerprint\n * @type {Array<number>}\n * @memberof UploadDebugSymbolsSourceMapRequest\n */\n ignoredSources?: Array<number>;\n /**\n * Original names the segments point to\n * @type {Array<string>}\n * @memberof UploadDebugSymbolsSourceMapRequest\n */\n names?: Array<string>;\n /**\n * Generated line and column, source, original line and column, and name, all 0-based, -1 when missing, sorted by generated position\n * @type {Array<Array<number>>}\n * @memberof UploadDebugSymbolsSourceMapRequest\n */\n segments?: Array<Array<number>>;\n /**\n * Original sources, relative to the generated file\n * @type {Array<string>}\n * @memberof UploadDebugSymbolsSourceMapRequest\n */\n sources?: Array<string>;\n}\n\n\n/**\n * @export\n */\nexport const UploadDebugSymbolsSourceMapRequestFormatVersionEnum = {\n NUMBER_1: 1\n} as const;\nexport type UploadDebugSymbolsSourceMapRequestFormatVersionEnum = typeof UploadDebugSymbolsSourceMapRequestFormatVersionEnum[keyof typeof UploadDebugSymbolsSourceMapRequestFormatVersionEnum];\n\n\n/**\n * Check if a given object implements the UploadDebugSymbolsSourceMapRequest interface.\n */\nexport function instanceOfUploadDebugSymbolsSourceMapRequest(value: object): value is UploadDebugSymbolsSourceMapRequest {\n if (!('formatVersion' in value) || value['formatVersion'] === undefined) return false;\n return true;\n}\n\nexport function UploadDebugSymbolsSourceMapRequestFromJSON(json: any): UploadDebugSymbolsSourceMapRequest {\n return UploadDebugSymbolsSourceMapRequestFromJSONTyped(json, false);\n}\n\nexport function UploadDebugSymbolsSourceMapRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): UploadDebugSymbolsSourceMapRequest {\n if (json == null) {\n return json;\n }\n return {\n \n 'formatVersion': json['formatVersion'],\n 'ignoredSources': json['ignoredSources'] == null ? undefined : json['ignoredSources'],\n 'names': json['names'] == null ? undefined : json['names'],\n 'segments': json['segments'] == null ? undefined : json['segments'],\n 'sources': json['sources'] == null ? undefined : json['sources'],\n };\n}\n\nexport function UploadDebugSymbolsSourceMapRequestToJSON(json: any): UploadDebugSymbolsSourceMapRequest {\n return UploadDebugSymbolsSourceMapRequestToJSONTyped(json, false);\n}\n\nexport function UploadDebugSymbolsSourceMapRequestToJSONTyped(value?: UploadDebugSymbolsSourceMapRequest | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'formatVersion': value['formatVersion'],\n 'ignoredSources': value['ignoredSources'],\n 'names': value['names'],\n 'segments': value['segments'],\n 'sources': value['sources'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Forge API / Public\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { UploadDebugSymbolsSourceMapRequest } from './UploadDebugSymbolsSourceMapRequest';\nimport {\n UploadDebugSymbolsSourceMapRequestFromJSON,\n UploadDebugSymbolsSourceMapRequestFromJSONTyped,\n UploadDebugSymbolsSourceMapRequestToJSON,\n UploadDebugSymbolsSourceMapRequestToJSONTyped,\n} from './UploadDebugSymbolsSourceMapRequest';\n\n/**\n * \n * @export\n * @interface UploadDebugSymbolsFileRequest\n */\nexport interface UploadDebugSymbolsFileRequest {\n /**\n * Path of the generated file in the build output\n * @type {string}\n * @memberof UploadDebugSymbolsFileRequest\n */\n name: string;\n /**\n * \n * @type {UploadDebugSymbolsSourceMapRequest}\n * @memberof UploadDebugSymbolsFileRequest\n */\n sourceMap: UploadDebugSymbolsSourceMapRequest;\n}\n\n/**\n * Check if a given object implements the UploadDebugSymbolsFileRequest interface.\n */\nexport function instanceOfUploadDebugSymbolsFileRequest(value: object): value is UploadDebugSymbolsFileRequest {\n if (!('name' in value) || value['name'] === undefined) return false;\n if (!('sourceMap' in value) || value['sourceMap'] === undefined) return false;\n return true;\n}\n\nexport function UploadDebugSymbolsFileRequestFromJSON(json: any): UploadDebugSymbolsFileRequest {\n return UploadDebugSymbolsFileRequestFromJSONTyped(json, false);\n}\n\nexport function UploadDebugSymbolsFileRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): UploadDebugSymbolsFileRequest {\n if (json == null) {\n return json;\n }\n return {\n \n 'name': json['name'],\n 'sourceMap': UploadDebugSymbolsSourceMapRequestFromJSON(json['sourceMap']),\n };\n}\n\nexport function UploadDebugSymbolsFileRequestToJSON(json: any): UploadDebugSymbolsFileRequest {\n return UploadDebugSymbolsFileRequestToJSONTyped(json, false);\n}\n\nexport function UploadDebugSymbolsFileRequestToJSONTyped(value?: UploadDebugSymbolsFileRequest | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'name': value['name'],\n 'sourceMap': UploadDebugSymbolsSourceMapRequestToJSON(value['sourceMap']),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Forge API / Public\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { UploadDebugSymbolsFileRequest } from './UploadDebugSymbolsFileRequest';\nimport {\n UploadDebugSymbolsFileRequestFromJSON,\n UploadDebugSymbolsFileRequestFromJSONTyped,\n UploadDebugSymbolsFileRequestToJSON,\n UploadDebugSymbolsFileRequestToJSONTyped,\n} from './UploadDebugSymbolsFileRequest';\n\n/**\n * \n * @export\n * @interface UploadDebugSymbolsRequest\n */\nexport interface UploadDebugSymbolsRequest {\n /**\n * One entry per generated file\n * @type {Array<UploadDebugSymbolsFileRequest>}\n * @memberof UploadDebugSymbolsRequest\n */\n files: Array<UploadDebugSymbolsFileRequest>;\n /**\n * Type of the symbols\n * @type {UploadDebugSymbolsRequestTypeEnum}\n * @memberof UploadDebugSymbolsRequest\n */\n type: UploadDebugSymbolsRequestTypeEnum;\n /**\n * Version of the build\n * @type {string}\n * @memberof UploadDebugSymbolsRequest\n */\n version: string;\n}\n\n\n/**\n * @export\n */\nexport const UploadDebugSymbolsRequestTypeEnum = {\n Sourcemap: 'sourcemap'\n} as const;\nexport type UploadDebugSymbolsRequestTypeEnum = typeof UploadDebugSymbolsRequestTypeEnum[keyof typeof UploadDebugSymbolsRequestTypeEnum];\n\n\n/**\n * Check if a given object implements the UploadDebugSymbolsRequest interface.\n */\nexport function instanceOfUploadDebugSymbolsRequest(value: object): value is UploadDebugSymbolsRequest {\n if (!('files' in value) || value['files'] === undefined) return false;\n if (!('type' in value) || value['type'] === undefined) return false;\n if (!('version' in value) || value['version'] === undefined) return false;\n return true;\n}\n\nexport function UploadDebugSymbolsRequestFromJSON(json: any): UploadDebugSymbolsRequest {\n return UploadDebugSymbolsRequestFromJSONTyped(json, false);\n}\n\nexport function UploadDebugSymbolsRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): UploadDebugSymbolsRequest {\n if (json == null) {\n return json;\n }\n return {\n \n 'files': ((json['files'] as Array<any>).map(UploadDebugSymbolsFileRequestFromJSON)),\n 'type': json['type'],\n 'version': json['version'],\n };\n}\n\nexport function UploadDebugSymbolsRequestToJSON(json: any): UploadDebugSymbolsRequest {\n return UploadDebugSymbolsRequestToJSONTyped(json, false);\n}\n\nexport function UploadDebugSymbolsRequestToJSONTyped(value?: UploadDebugSymbolsRequest | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'files': ((value['files'] as Array<any>).map(UploadDebugSymbolsFileRequestToJSON)),\n 'type': value['type'],\n 'version': value['version'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Forge API / Public\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as runtime from '../runtime';\nimport {\n type ErrorResponse,\n ErrorResponseFromJSON,\n ErrorResponseToJSON,\n} from '../models/ErrorResponse';\nimport {\n type UploadDebugSymbolsRequest,\n UploadDebugSymbolsRequestFromJSON,\n UploadDebugSymbolsRequestToJSON,\n} from '../models/UploadDebugSymbolsRequest';\n\nexport interface UploadDebugSymbolsOperationRequest {\n uploadDebugSymbolsRequest?: UploadDebugSymbolsRequest;\n}\n\n/**\n * \n */\nexport class DebugSymbolsApi extends runtime.BaseAPI {\n\n /**\n * Creates request options for uploadDebugSymbols without sending the request\n */\n async uploadDebugSymbolsRequestOpts(requestParameters: UploadDebugSymbolsOperationRequest): Promise<runtime.RequestOpts> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"x-token\"] = await this.configuration.apiKey(\"x-token\"); // ApiKeyAuth authentication\n }\n\n\n let urlPath = `/api/v1/debug-symbols`;\n\n return {\n path: urlPath,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: UploadDebugSymbolsRequestToJSON(requestParameters['uploadDebugSymbolsRequest']),\n };\n }\n\n /**\n * Stores the source map of every generated file of the build, replacing the files the version had.\n * Upload the debug symbols of a build\n */\n async uploadDebugSymbolsRaw(requestParameters: UploadDebugSymbolsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {\n const requestOptions = await this.uploadDebugSymbolsRequestOpts(requestParameters);\n const response = await this.request(requestOptions, initOverrides);\n\n return new runtime.VoidApiResponse(response);\n }\n\n /**\n * Stores the source map of every generated file of the build, replacing the files the version had.\n * Upload the debug symbols of a build\n */\n async uploadDebugSymbols(requestParameters: UploadDebugSymbolsOperationRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {\n await this.uploadDebugSymbolsRaw(requestParameters, initOverrides);\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Forge API / Public\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface HealthResponse\n */\nexport interface HealthResponse {\n /**\n * True while the application is healthy\n * @type {boolean}\n * @memberof HealthResponse\n */\n ok: boolean;\n}\n\n/**\n * Check if a given object implements the HealthResponse interface.\n */\nexport function instanceOfHealthResponse(value: object): value is HealthResponse {\n if (!('ok' in value) || value['ok'] === undefined) return false;\n return true;\n}\n\nexport function HealthResponseFromJSON(json: any): HealthResponse {\n return HealthResponseFromJSONTyped(json, false);\n}\n\nexport function HealthResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): HealthResponse {\n if (json == null) {\n return json;\n }\n return {\n \n 'ok': json['ok'],\n };\n}\n\nexport function HealthResponseToJSON(json: any): HealthResponse {\n return HealthResponseToJSONTyped(json, false);\n}\n\nexport function HealthResponseToJSONTyped(value?: HealthResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'ok': value['ok'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Forge API / Public\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as runtime from '../runtime';\nimport {\n type ErrorResponse,\n ErrorResponseFromJSON,\n ErrorResponseToJSON,\n} from '../models/ErrorResponse';\nimport {\n type HealthResponse,\n HealthResponseFromJSON,\n HealthResponseToJSON,\n} from '../models/HealthResponse';\n\n/**\n * \n */\nexport class HealthApi extends runtime.BaseAPI {\n\n /**\n * Creates request options for health without sending the request\n */\n async healthRequestOpts(): Promise<runtime.RequestOpts> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n\n let urlPath = `/health`;\n\n return {\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n };\n }\n\n /**\n * Answers ok while the application is running, for uptime checks.\n * Health endpoint\n */\n async healthRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<HealthResponse>> {\n const requestOptions = await this.healthRequestOpts();\n const response = await this.request(requestOptions, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => HealthResponseFromJSON(jsonValue));\n }\n\n /**\n * Answers ok while the application is running, for uptime checks.\n * Health endpoint\n */\n async health(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<HealthResponse> {\n const response = await this.healthRaw(initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Forge API / Public\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface OrganizationResponse\n */\nexport interface OrganizationResponse {\n /**\n * Timestamp when the organization was archived, if applicable\n * @type {Date}\n * @memberof OrganizationResponse\n */\n archivedAt?: Date | null;\n /**\n * Timestamp when the organization was created\n * @type {Date}\n * @memberof OrganizationResponse\n */\n createdAt: Date;\n /**\n * ID for the organization\n * @type {string}\n * @memberof OrganizationResponse\n */\n id: string;\n /**\n * Name of the organization\n * @type {string}\n * @memberof OrganizationResponse\n */\n name: string;\n /**\n * Timestamp when the organization was last updated\n * @type {Date}\n * @memberof OrganizationResponse\n */\n updatedAt: Date;\n}\n\n/**\n * Check if a given object implements the OrganizationResponse interface.\n */\nexport function instanceOfOrganizationResponse(value: object): value is OrganizationResponse {\n if (!('createdAt' in value) || value['createdAt'] === undefined) return false;\n if (!('id' in value) || value['id'] === undefined) return false;\n if (!('name' in value) || value['name'] === undefined) return false;\n if (!('updatedAt' in value) || value['updatedAt'] === undefined) return false;\n return true;\n}\n\nexport function OrganizationResponseFromJSON(json: any): OrganizationResponse {\n return OrganizationResponseFromJSONTyped(json, false);\n}\n\nexport function OrganizationResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): OrganizationResponse {\n if (json == null) {\n return json;\n }\n return {\n \n 'archivedAt': json['archivedAt'] == null ? undefined : (new Date(json['archivedAt'])),\n 'createdAt': (new Date(json['createdAt'])),\n 'id': json['id'],\n 'name': json['name'],\n 'updatedAt': (new Date(json['updatedAt'])),\n };\n}\n\nexport function OrganizationResponseToJSON(json: any): OrganizationResponse {\n return OrganizationResponseToJSONTyped(json, false);\n}\n\nexport function OrganizationResponseToJSONTyped(value?: OrganizationResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'archivedAt': value['archivedAt'] == null ? value['archivedAt'] : value['archivedAt'].toISOString(),\n 'createdAt': value['createdAt'].toISOString(),\n 'id': value['id'],\n 'name': value['name'],\n 'updatedAt': value['updatedAt'].toISOString(),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Forge API / Public\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as runtime from '../runtime';\nimport {\n type ErrorResponse,\n ErrorResponseFromJSON,\n ErrorResponseToJSON,\n} from '../models/ErrorResponse';\nimport {\n type OrganizationResponse,\n OrganizationResponseFromJSON,\n OrganizationResponseToJSON,\n} from '../models/OrganizationResponse';\n\nexport interface GetOrganizationByIDRequest {\n id: string;\n}\n\n/**\n * \n */\nexport class OrganizationApi extends runtime.BaseAPI {\n\n /**\n * Creates request options for getOrganizationByID without sending the request\n */\n async getOrganizationByIDRequestOpts(requestParameters: GetOrganizationByIDRequest): Promise<runtime.RequestOpts> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling getOrganizationByID().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"x-token\"] = await this.configuration.apiKey(\"x-token\"); // ApiKeyAuth authentication\n }\n\n\n let urlPath = `/api/v1/organizations/{id}`;\n urlPath = urlPath.replace('{id}', encodeURIComponent(String(requestParameters['id'])));\n\n return {\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n };\n }\n\n /**\n * Returns the organization of the project the client belongs to; any other ID answers 404.\n * Get organization by ID\n */\n async getOrganizationByIDRaw(requestParameters: GetOrganizationByIDRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<OrganizationResponse>> {\n const requestOptions = await this.getOrganizationByIDRequestOpts(requestParameters);\n const response = await this.request(requestOptions, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => OrganizationResponseFromJSON(jsonValue));\n }\n\n /**\n * Returns the organization of the project the client belongs to; any other ID answers 404.\n * Get organization by ID\n */\n async getOrganizationByID(requestParameters: GetOrganizationByIDRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<OrganizationResponse> {\n const response = await this.getOrganizationByIDRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Forge API / Public\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface ProjectPublicSettingsResponse\n */\nexport interface ProjectPublicSettingsResponse {\n /**\n * Indicates whether the project is enabled\n * @type {boolean}\n * @memberof ProjectPublicSettingsResponse\n */\n isEnabled: boolean;\n /**\n * Token associated with the project\n * @type {string}\n * @memberof ProjectPublicSettingsResponse\n */\n token?: string;\n}\n\n/**\n * Check if a given object implements the ProjectPublicSettingsResponse interface.\n */\nexport function instanceOfProjectPublicSettingsResponse(value: object): value is ProjectPublicSettingsResponse {\n if (!('isEnabled' in value) || value['isEnabled'] === undefined) return false;\n return true;\n}\n\nexport function ProjectPublicSettingsResponseFromJSON(json: any): ProjectPublicSettingsResponse {\n return ProjectPublicSettingsResponseFromJSONTyped(json, false);\n}\n\nexport function ProjectPublicSettingsResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ProjectPublicSettingsResponse {\n if (json == null) {\n return json;\n }\n return {\n \n 'isEnabled': json['isEnabled'],\n 'token': json['token'] == null ? undefined : json['token'],\n };\n}\n\nexport function ProjectPublicSettingsResponseToJSON(json: any): ProjectPublicSettingsResponse {\n return ProjectPublicSettingsResponseToJSONTyped(json, false);\n}\n\nexport function ProjectPublicSettingsResponseToJSONTyped(value?: ProjectPublicSettingsResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'isEnabled': value['isEnabled'],\n 'token': value['token'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Forge API / Public\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { ProjectPublicSettingsResponse } from './ProjectPublicSettingsResponse';\nimport {\n ProjectPublicSettingsResponseFromJSON,\n ProjectPublicSettingsResponseFromJSONTyped,\n ProjectPublicSettingsResponseToJSON,\n ProjectPublicSettingsResponseToJSONTyped,\n} from './ProjectPublicSettingsResponse';\n\n/**\n * \n * @export\n * @interface ProjectResponse\n */\nexport interface ProjectResponse {\n /**\n * Timestamp when the project was archived, if applicable\n * @type {Date}\n * @memberof ProjectResponse\n */\n archivedAt?: Date | null;\n /**\n * Timestamp when the project was created\n * @type {Date}\n * @memberof ProjectResponse\n */\n createdAt: Date;\n /**\n * ID for the project\n * @type {string}\n * @memberof ProjectResponse\n */\n id: string;\n /**\n * Name of the project\n * @type {string}\n * @memberof ProjectResponse\n */\n name: string;\n /**\n * ID of the organization associated with the project\n * @type {string}\n * @memberof ProjectResponse\n */\n organizationID: string;\n /**\n * \n * @type {ProjectPublicSettingsResponse}\n * @memberof ProjectResponse\n */\n publicSettings?: ProjectPublicSettingsResponse;\n /**\n * Timestamp when the project was last updated\n * @type {Date}\n * @memberof ProjectResponse\n */\n updatedAt: Date;\n}\n\n/**\n * Check if a given object implements the ProjectResponse interface.\n */\nexport function instanceOfProjectResponse(value: object): value is ProjectResponse {\n if (!('createdAt' in value) || value['createdAt'] === undefined) return false;\n if (!('id' in value) || value['id'] === undefined) return false;\n if (!('name' in value) || value['name'] === undefined) return false;\n if (!('organizationID' in value) || value['organizationID'] === undefined) return false;\n if (!('updatedAt' in value) || value['updatedAt'] === undefined) return false;\n return true;\n}\n\nexport function ProjectResponseFromJSON(json: any): ProjectResponse {\n return ProjectResponseFromJSONTyped(json, false);\n}\n\nexport function ProjectResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ProjectResponse {\n if (json == null) {\n return json;\n }\n return {\n \n 'archivedAt': json['archivedAt'] == null ? undefined : (new Date(json['archivedAt'])),\n 'createdAt': (new Date(json['createdAt'])),\n 'id': json['id'],\n 'name': json['name'],\n 'organizationID': json['organizationID'],\n 'publicSettings': json['publicSettings'] == null ? undefined : ProjectPublicSettingsResponseFromJSON(json['publicSettings']),\n 'updatedAt': (new Date(json['updatedAt'])),\n };\n}\n\nexport function ProjectResponseToJSON(json: any): ProjectResponse {\n return ProjectResponseToJSONTyped(json, false);\n}\n\nexport function ProjectResponseToJSONTyped(value?: ProjectResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'archivedAt': value['archivedAt'] == null ? value['archivedAt'] : value['archivedAt'].toISOString(),\n 'createdAt': value['createdAt'].toISOString(),\n 'id': value['id'],\n 'name': value['name'],\n 'organizationID': value['organizationID'],\n 'publicSettings': ProjectPublicSettingsResponseToJSON(value['publicSettings']),\n 'updatedAt': value['updatedAt'].toISOString(),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Forge API / Public\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as runtime from '../runtime';\nimport {\n type ErrorResponse,\n ErrorResponseFromJSON,\n ErrorResponseToJSON,\n} from '../models/ErrorResponse';\nimport {\n type ProjectResponse,\n ProjectResponseFromJSON,\n ProjectResponseToJSON,\n} from '../models/ProjectResponse';\n\nexport interface GetProjectByIDRequest {\n id: string;\n}\n\n/**\n * \n */\nexport class ProjectApi extends runtime.BaseAPI {\n\n /**\n * Creates request options for getProjectByID without sending the request\n */\n async getProjectByIDRequestOpts(requestParameters: GetProjectByIDRequest): Promise<runtime.RequestOpts> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling getProjectByID().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"x-token\"] = await this.configuration.apiKey(\"x-token\"); // ApiKeyAuth authentication\n }\n\n\n let urlPath = `/api/v1/projects/{id}`;\n urlPath = urlPath.replace('{id}', encodeURIComponent(String(requestParameters['id'])));\n\n return {\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n };\n }\n\n /**\n * Returns the project the client belongs to, without client tokens; any other ID answers 404.\n * Get project by ID\n */\n async getProjectByIDRaw(requestParameters: GetProjectByIDRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ProjectResponse>> {\n const requestOptions = await this.getProjectByIDRequestOpts(requestParameters);\n const response = await this.request(requestOptions, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => ProjectResponseFromJSON(jsonValue));\n }\n\n /**\n * Returns the project the client belongs to, without client tokens; any other ID answers 404.\n * Get project by ID\n */\n async getProjectByID(requestParameters: GetProjectByIDRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ProjectResponse> {\n const response = await this.getProjectByIDRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Forge API / Public\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * \n * @export\n */\nexport const GranularityType = {\n Hourly: 'hourly',\n Daily: 'daily',\n Monthly: 'monthly',\n Yearly: 'yearly',\n TotalByHour: 'total_by_hour',\n TotalByWeekday: 'total_by_weekday',\n Total: 'total'\n} as const;\nexport type GranularityType = typeof GranularityType[keyof typeof GranularityType];\n\n\nexport function instanceOfGranularityType(value: any): boolean {\n for (const key in GranularityType) {\n if (Object.prototype.hasOwnProperty.call(GranularityType, key)) {\n if (GranularityType[key as keyof typeof GranularityType] === value) {\n return true;\n }\n }\n }\n return false;\n}\n\nexport function GranularityTypeFromJSON(json: any): GranularityType {\n return GranularityTypeFromJSONTyped(json, false);\n}\n\nexport function GranularityTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): GranularityType {\n return json as GranularityType;\n}\n\nexport function GranularityTypeToJSON(value?: GranularityType | null): any {\n return value as any;\n}\n\nexport function GranularityTypeToJSONTyped(value: any, ignoreDiscriminator: boolean): GranularityType {\n return value as GranularityType;\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Forge API / Public\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface EventTimeStatsRowResponse\n */\nexport interface EventTimeStatsRowResponse {\n /**\n * Number of events\n * @type {number}\n * @memberof EventTimeStatsRowResponse\n */\n count: number;\n /**\n * Number of events, extrapolated\n * @type {number}\n * @memberof EventTimeStatsRowResponse\n */\n estimatedCount: number;\n /**\n * Timestamp of the stats row\n * @type {Date}\n * @memberof EventTimeStatsRowResponse\n */\n key: Date;\n /**\n * Number of distinct users\n * @type {number}\n * @memberof EventTimeStatsRowResponse\n */\n users: number;\n}\n\n/**\n * Check if a given object implements the EventTimeStatsRowResponse interface.\n */\nexport function instanceOfEventTimeStatsRowResponse(value: object): value is EventTimeStatsRowResponse {\n if (!('count' in value) || value['count'] === undefined) return false;\n if (!('estimatedCount' in value) || value['estimatedCount'] === undefined) return false;\n if (!('key' in value) || value['key'] === undefined) return false;\n if (!('users' in value) || value['users'] === undefined) return false;\n return true;\n}\n\nexport function EventTimeStatsRowResponseFromJSON(json: any): EventTimeStatsRowResponse {\n return EventTimeStatsRowResponseFromJSONTyped(json, false);\n}\n\nexport function EventTimeStatsRowResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): EventTimeStatsRowResponse {\n if (json == null) {\n return json;\n }\n return {\n \n 'count': json['count'],\n 'estimatedCount': json['estimatedCount'],\n 'key': (new Date(json['key'])),\n 'users': json['users'],\n };\n}\n\nexport function EventTimeStatsRowResponseToJSON(json: any): EventTimeStatsRowResponse {\n return EventTimeStatsRowResponseToJSONTyped(json, false);\n}\n\nexport function EventTimeStatsRowResponseToJSONTyped(value?: EventTimeStatsRowResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'count': value['count'],\n 'estimatedCount': value['estimatedCount'],\n 'key': value['key'].toISOString(),\n 'users': value['users'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Forge API / Public\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface StatsAggregationResponse\n */\nexport interface StatsAggregationResponse {\n /**\n * Names of the grouped values\n * @type {Array<string>}\n * @memberof StatsAggregationResponse\n */\n aggregation: Array<string>;\n /**\n * Dimension keys of the aggregation\n * @type {Array<string>}\n * @memberof StatsAggregationResponse\n */\n keys: Array<string>;\n /**\n * Values of the keys, in order\n * @type {Array<string>}\n * @memberof StatsAggregationResponse\n */\n values: Array<string>;\n}\n\n/**\n * Check if a given object implements the StatsAggregationResponse interface.\n */\nexport function instanceOfStatsAggregationResponse(value: object): value is StatsAggregationResponse {\n if (!('aggregation' in value) || value['aggregation'] === undefined) return false;\n if (!('keys' in value) || value['keys'] === undefined) return false;\n if (!('values' in value) || value['values'] === undefined) return false;\n return true;\n}\n\nexport function StatsAggregationResponseFromJSON(json: any): StatsAggregationResponse {\n return StatsAggregationResponseFromJSONTyped(json, false);\n}\n\nexport function StatsAggregationResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): StatsAggregationResponse {\n if (json == null) {\n return json;\n }\n return {\n \n 'aggregation': json['aggregation'],\n 'keys': json['keys'],\n 'values': json['values'],\n };\n}\n\nexport function StatsAggregationResponseToJSON(json: any): StatsAggregationResponse {\n return StatsAggregationResponseToJSONTyped(json, false);\n}\n\nexport function StatsAggregationResponseToJSONTyped(value?: StatsAggregationResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'aggregation': value['aggregation'],\n 'keys': value['keys'],\n 'values': value['values'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Forge API / Public\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { EventTimeStatsRowResponse } from './EventTimeStatsRowResponse';\nimport {\n EventTimeStatsRowResponseFromJSON,\n EventTimeStatsRowResponseFromJSONTyped,\n EventTimeStatsRowResponseToJSON,\n EventTimeStatsRowResponseToJSONTyped,\n} from './EventTimeStatsRowResponse';\nimport type { StatsAggregationResponse } from './StatsAggregationResponse';\nimport {\n StatsAggregationResponseFromJSON,\n StatsAggregationResponseFromJSONTyped,\n StatsAggregationResponseToJSON,\n StatsAggregationResponseToJSONTyped,\n} from './StatsAggregationResponse';\n\n/**\n * \n * @export\n * @interface EventTimeStatsAggregationResponse\n */\nexport interface EventTimeStatsAggregationResponse {\n /**\n * \n * @type {StatsAggregationResponse}\n * @memberof EventTimeStatsAggregationResponse\n */\n aggregation?: StatsAggregationResponse;\n /**\n * Rows of the current period\n * @type {Array<EventTimeStatsRowResponse>}\n * @memberof EventTimeStatsAggregationResponse\n */\n current?: Array<EventTimeStatsRowResponse>;\n /**\n * Rows of the previous period\n * @type {Array<EventTimeStatsRowResponse>}\n * @memberof EventTimeStatsAggregationResponse\n */\n previous?: Array<EventTimeStatsRowResponse>;\n}\n\n/**\n * Check if a given object implements the EventTimeStatsAggregationResponse interface.\n */\nexport function instanceOfEventTimeStatsAggregationResponse(value: object): value is EventTimeStatsAggregationResponse {\n return true;\n}\n\nexport function EventTimeStatsAggregationResponseFromJSON(json: any): EventTimeStatsAggregationResponse {\n return EventTimeStatsAggregationResponseFromJSONTyped(json, false);\n}\n\nexport function EventTimeStatsAggregationResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): EventTimeStatsAggregationResponse {\n if (json == null) {\n return json;\n }\n return {\n \n 'aggregation': json['aggregation'] == null ? undefined : StatsAggregationResponseFromJSON(json['aggregation']),\n 'current': json['current'] == null ? undefined : ((json['current'] as Array<any>).map(EventTimeStatsRowResponseFromJSON)),\n 'previous': json['previous'] == null ? undefined : ((json['previous'] as Array<any>).map(EventTimeStatsRowResponseFromJSON)),\n };\n}\n\nexport function EventTimeStatsAggregationResponseToJSON(json: any): EventTimeStatsAggregationResponse {\n return EventTimeStatsAggregationResponseToJSONTyped(json, false);\n}\n\nexport function EventTimeStatsAggregationResponseToJSONTyped(value?: EventTimeStatsAggregationResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'aggregation': StatsAggregationResponseToJSON(value['aggregation']),\n 'current': value['current'] == null ? undefined : ((value['current'] as Array<any>).map(EventTimeStatsRowResponseToJSON)),\n 'previous': value['previous'] == null ? undefined : ((value['previous'] as Array<any>).map(EventTimeStatsRowResponseToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Forge API / Public\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { GranularityType } from './GranularityType';\nimport {\n GranularityTypeFromJSON,\n GranularityTypeFromJSONTyped,\n GranularityTypeToJSON,\n GranularityTypeToJSONTyped,\n} from './GranularityType';\nimport type { EventTimeStatsAggregationResponse } from './EventTimeStatsAggregationResponse';\nimport {\n EventTimeStatsAggregationResponseFromJSON,\n EventTimeStatsAggregationResponseFromJSONTyped,\n EventTimeStatsAggregationResponseToJSON,\n EventTimeStatsAggregationResponseToJSONTyped,\n} from './EventTimeStatsAggregationResponse';\n\n/**\n * \n * @export\n * @interface EventTimeStatsResponse\n */\nexport interface EventTimeStatsResponse {\n /**\n * Time stats of each aggregation\n * @type {Array<EventTimeStatsAggregationResponse>}\n * @memberof EventTimeStatsResponse\n */\n aggregations?: Array<EventTimeStatsAggregationResponse>;\n /**\n * \n * @type {GranularityType}\n * @memberof EventTimeStatsResponse\n */\n granularity?: GranularityType;\n /**\n * Numeric ID of the project\n * @type {number}\n * @memberof EventTimeStatsResponse\n */\n projectID?: number;\n}\n\n\n\n/**\n * Check if a given object implements the EventTimeStatsResponse interface.\n */\nexport function instanceOfEventTimeStatsResponse(value: object): value is EventTimeStatsResponse {\n return true;\n}\n\nexport function EventTimeStatsResponseFromJSON(json: any): EventTimeStatsResponse {\n return EventTimeStatsResponseFromJSONTyped(json, false);\n}\n\nexport function EventTimeStatsResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): EventTimeStatsResponse {\n if (json == null) {\n return json;\n }\n return {\n \n 'aggregations': json['aggregations'] == null ? undefined : ((json['aggregations'] as Array<any>).map(EventTimeStatsAggregationResponseFromJSON)),\n 'granularity': json['granularity'] == null ? undefined : GranularityTypeFromJSON(json['granularity']),\n 'projectID': json['projectID'] == null ? undefined : json['projectID'],\n };\n}\n\nexport function EventTimeStatsResponseToJSON(json: any): EventTimeStatsResponse {\n return EventTimeStatsResponseToJSONTyped(json, false);\n}\n\nexport function EventTimeStatsResponseToJSONTyped(value?: EventTimeStatsResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'aggregations': value['aggregations'] == null ? undefined : ((value['aggregations'] as Array<any>).map(EventTimeStatsAggregationResponseToJSON)),\n 'granularity': GranularityTypeToJSON(value['granularity']),\n 'projectID': value['projectID'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Forge API / Public\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface StatsDistributionResponse\n */\nexport interface StatsDistributionResponse {\n /**\n * Average (mean) value\n * @type {number}\n * @memberof StatsDistributionResponse\n */\n avg: number;\n /**\n * Maximum value\n * @type {number}\n * @memberof StatsDistributionResponse\n */\n max: number;\n /**\n * Minimum value\n * @type {number}\n * @memberof StatsDistributionResponse\n */\n min: number;\n /**\n * First quartile (25th percentile)\n * @type {number}\n * @memberof StatsDistributionResponse\n */\n q25: number;\n /**\n * Second quartile (median, 50th percentile)\n * @type {number}\n * @memberof StatsDistributionResponse\n */\n q50: number;\n /**\n * Third quartile (75th percentile)\n * @type {number}\n * @memberof StatsDistributionResponse\n */\n q75: number;\n /**\n * Total number of values\n * @type {number}\n * @memberof StatsDistributionResponse\n */\n total: number;\n}\n\n/**\n * Check if a given object implements the StatsDistributionResponse interface.\n */\nexport function instanceOfStatsDistributionResponse(value: object): value is StatsDistributionResponse {\n if (!('avg' in value) || value['avg'] === undefined) return false;\n if (!('max' in value) || value['max'] === undefined) return false;\n if (!('min' in value) || value['min'] === undefined) return false;\n if (!('q25' in value) || value['q25'] === undefined) return false;\n if (!('q50' in value) || value['q50'] === undefined) return false;\n if (!('q75' in value) || value['q75'] === undefined) return false;\n if (!('total' in value) || value['total'] === undefined) return false;\n return true;\n}\n\nexport function StatsDistributionResponseFromJSON(json: any): StatsDistributionResponse {\n return StatsDistributionResponseFromJSONTyped(json, false);\n}\n\nexport function StatsDistributionResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): StatsDistributionResponse {\n if (json == null) {\n return json;\n }\n return {\n \n 'avg': json['avg'],\n 'max': json['max'],\n 'min': json['min'],\n 'q25': json['q25'],\n 'q50': json['q50'],\n 'q75': json['q75'],\n 'total': json['total'],\n };\n}\n\nexport function StatsDistributionResponseToJSON(json: any): StatsDistributionResponse {\n return StatsDistributionResponseToJSONTyped(json, false);\n}\n\nexport function StatsDistributionResponseToJSONTyped(value?: StatsDistributionResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'avg': value['avg'],\n 'max': value['max'],\n 'min': value['min'],\n 'q25': value['q25'],\n 'q50': value['q50'],\n 'q75': value['q75'],\n 'total': value['total'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Forge API / Public\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { StatsDistributionResponse } from './StatsDistributionResponse';\nimport {\n StatsDistributionResponseFromJSON,\n StatsDistributionResponseFromJSONTyped,\n StatsDistributionResponseToJSON,\n StatsDistributionResponseToJSONTyped,\n} from './StatsDistributionResponse';\n\n/**\n * \n * @export\n * @interface EventTotalStatsValuesResponse\n */\nexport interface EventTotalStatsValuesResponse {\n /**\n * \n * @type {StatsDistributionResponse}\n * @memberof EventTotalStatsValuesResponse\n */\n events: StatsDistributionResponse;\n /**\n * \n * @type {StatsDistributionResponse}\n * @memberof EventTotalStatsValuesResponse\n */\n users: StatsDistributionResponse;\n}\n\n/**\n * Check if a given object implements the EventTotalStatsValuesResponse interface.\n */\nexport function instanceOfEventTotalStatsValuesResponse(value: object): value is EventTotalStatsValuesResponse {\n if (!('events' in value) || value['events'] === undefined) return false;\n if (!('users' in value) || value['users'] === undefined) return false;\n return true;\n}\n\nexport function EventTotalStatsValuesResponseFromJSON(json: any): EventTotalStatsValuesResponse {\n return EventTotalStatsValuesResponseFromJSONTyped(json, false);\n}\n\nexport function EventTotalStatsValuesResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): EventTotalStatsValuesResponse {\n if (json == null) {\n return json;\n }\n return {\n \n 'events': StatsDistributionResponseFromJSON(json['events']),\n 'users': StatsDistributionResponseFromJSON(json['users']),\n };\n}\n\nexport function EventTotalStatsValuesResponseToJSON(json: any): EventTotalStatsValuesResponse {\n return EventTotalStatsValuesResponseToJSONTyped(json, false);\n}\n\nexport function EventTotalStatsValuesResponseToJSONTyped(value?: EventTotalStatsValuesResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'events': StatsDistributionResponseToJSON(value['events']),\n 'users': StatsDistributionResponseToJSON(value['users']),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Forge API / Public\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { GranularityType } from './GranularityType';\nimport {\n GranularityTypeFromJSON,\n GranularityTypeFromJSONTyped,\n GranularityTypeToJSON,\n GranularityTypeToJSONTyped,\n} from './GranularityType';\nimport type { EventTotalStatsValuesResponse } from './EventTotalStatsValuesResponse';\nimport {\n EventTotalStatsValuesResponseFromJSON,\n EventTotalStatsValuesResponseFromJSONTyped,\n EventTotalStatsValuesResponseToJSON,\n EventTotalStatsValuesResponseToJSONTyped,\n} from './EventTotalStatsValuesResponse';\n\n/**\n * \n * @export\n * @interface EventTotalStatsResponse\n */\nexport interface EventTotalStatsResponse {\n /**\n * \n * @type {EventTotalStatsValuesResponse}\n * @memberof EventTotalStatsResponse\n */\n current: EventTotalStatsValuesResponse;\n /**\n * \n * @type {GranularityType}\n * @memberof EventTotalStatsResponse\n */\n granularity: GranularityType;\n /**\n * \n * @type {EventTotalStatsValuesResponse}\n * @memberof EventTotalStatsResponse\n */\n previous?: EventTotalStatsValuesResponse;\n /**\n * Numeric ID of the project\n * @type {number}\n * @memberof EventTotalStatsResponse\n */\n projectID: number;\n}\n\n\n\n/**\n * Check if a given object implements the EventTotalStatsResponse interface.\n */\nexport function instanceOfEventTotalStatsResponse(value: object): value is EventTotalStatsResponse {\n if (!('current' in value) || value['current'] === undefined) return false;\n if (!('granularity' in value) || value['granularity'] === undefined) return false;\n if (!('projectID' in value) || value['projectID'] === undefined) return false;\n return true;\n}\n\nexport function EventTotalStatsResponseFromJSON(json: any): EventTotalStatsResponse {\n return EventTotalStatsResponseFromJSONTyped(json, false);\n}\n\nexport function EventTotalStatsResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): EventTotalStatsResponse {\n if (json == null) {\n return json;\n }\n return {\n \n 'current': EventTotalStatsValuesResponseFromJSON(json['current']),\n 'granularity': GranularityTypeFromJSON(json['granularity']),\n 'previous': json['previous'] == null ? undefined : EventTotalStatsValuesResponseFromJSON(json['previous']),\n 'projectID': json['projectID'],\n };\n}\n\nexport function EventTotalStatsResponseToJSON(json: any): EventTotalStatsResponse {\n return EventTotalStatsResponseToJSONTyped(json, false);\n}\n\nexport function EventTotalStatsResponseToJSONTyped(value?: EventTotalStatsResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'current': EventTotalStatsValuesResponseToJSON(value['current']),\n 'granularity': GranularityTypeToJSON(value['granularity']),\n 'previous': EventTotalStatsValuesResponseToJSON(value['previous']),\n 'projectID': value['projectID'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Forge API / Public\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface EventQueryConditionRequest\n */\nexport interface EventQueryConditionRequest {\n /**\n * How the field is compared\n * @type {EventQueryConditionRequestOperationEnum}\n * @memberof EventQueryConditionRequest\n */\n operation: EventQueryConditionRequestOperationEnum;\n /**\n * Event field the condition reads\n * @type {string}\n * @memberof EventQueryConditionRequest\n */\n predicate: string;\n /**\n * Value the field is compared to\n * @type {string}\n * @memberof EventQueryConditionRequest\n */\n value: string;\n}\n\n\n/**\n * @export\n */\nexport const EventQueryConditionRequestOperationEnum = {\n Eq: 'eq',\n Neq: 'neq'\n} as const;\nexport type EventQueryConditionRequestOperationEnum = typeof EventQueryConditionRequestOperationEnum[keyof typeof EventQueryConditionRequestOperationEnum];\n\n\n/**\n * Check if a given object implements the EventQueryConditionRequest interface.\n */\nexport function instanceOfEventQueryConditionRequest(value: object): value is EventQueryConditionRequest {\n if (!('operation' in value) || value['operation'] === undefined) return false;\n if (!('predicate' in value) || value['predicate'] === undefined) return false;\n if (!('value' in value) || value['value'] === undefined) return false;\n return true;\n}\n\nexport function EventQueryConditionRequestFromJSON(json: any): EventQueryConditionRequest {\n return EventQueryConditionRequestFromJSONTyped(json, false);\n}\n\nexport function EventQueryConditionRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): EventQueryConditionRequest {\n if (json == null) {\n return json;\n }\n return {\n \n 'operation': json['operation'],\n 'predicate': json['predicate'],\n 'value': json['value'],\n };\n}\n\nexport function EventQueryConditionRequestToJSON(json: any): EventQueryConditionRequest {\n return EventQueryConditionRequestToJSONTyped(json, false);\n}\n\nexport function EventQueryConditionRequestToJSONTyped(value?: EventQueryConditionRequest | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'operation': value['operation'],\n 'predicate': value['predicate'],\n 'value': value['value'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Forge API / Public\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { EventQueryConditionRequest } from './EventQueryConditionRequest';\nimport {\n EventQueryConditionRequestFromJSON,\n EventQueryConditionRequestFromJSONTyped,\n EventQueryConditionRequestToJSON,\n EventQueryConditionRequestToJSONTyped,\n} from './EventQueryConditionRequest';\n\n/**\n * \n * @export\n * @interface EventQueryRequest\n */\nexport interface EventQueryRequest {\n /**\n * Conditions the events match\n * @type {Array<EventQueryConditionRequest>}\n * @memberof EventQueryRequest\n */\n conditions: Array<EventQueryConditionRequest>;\n /**\n * What the query counts\n * @type {EventQueryRequestResultEnum}\n * @memberof EventQueryRequest\n */\n result: EventQueryRequestResultEnum;\n /**\n * Event type to count\n * @type {string}\n * @memberof EventQueryRequest\n */\n type: string;\n}\n\n\n/**\n * @export\n */\nexport const EventQueryRequestResultEnum = {\n NumEvents: 'NumEvents',\n Users: 'Users'\n} as const;\nexport type EventQueryRequestResultEnum = typeof EventQueryRequestResultEnum[keyof typeof EventQueryRequestResultEnum];\n\n\n/**\n * Check if a given object implements the EventQueryRequest interface.\n */\nexport function instanceOfEventQueryRequest(value: object): value is EventQueryRequest {\n if (!('conditions' in value) || value['conditions'] === undefined) return false;\n if (!('result' in value) || value['result'] === undefined) return false;\n if (!('type' in value) || value['type'] === undefined) return false;\n return true;\n}\n\nexport function EventQueryRequestFromJSON(json: any): EventQueryRequest {\n return EventQueryRequestFromJSONTyped(json, false);\n}\n\nexport function EventQueryRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): EventQueryRequest {\n if (json == null) {\n return json;\n }\n return {\n \n 'conditions': ((json['conditions'] as Array<any>).map(EventQueryConditionRequestFromJSON)),\n 'result': json['result'],\n 'type': json['type'],\n };\n}\n\nexport function EventQueryRequestToJSON(json: any): EventQueryRequest {\n return EventQueryRequestToJSONTyped(json, false);\n}\n\nexport function EventQueryRequestToJSONTyped(value?: EventQueryRequest | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'conditions': ((value['conditions'] as Array<any>).map(EventQueryConditionRequestToJSON)),\n 'result': value['result'],\n 'type': value['type'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Forge API / Public\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * \n * @export\n */\nexport const Period = {\n Realtime: 'realtime',\n Day: 'day',\n _7days: '7days',\n _14days: '14days',\n Week: 'week',\n Month: 'month',\n Year: 'year',\n All: 'all'\n} as const;\nexport type Period = typeof Period[keyof typeof Period];\n\n\nexport function instanceOfPeriod(value: any): boolean {\n for (const key in Period) {\n if (Object.prototype.hasOwnProperty.call(Period, key)) {\n if (Period[key as keyof typeof Period] === value) {\n return true;\n }\n }\n }\n return false;\n}\n\nexport function PeriodFromJSON(json: any): Period {\n return PeriodFromJSONTyped(json, false);\n}\n\nexport function PeriodFromJSONTyped(json: any, ignoreDiscriminator: boolean): Period {\n return json as Period;\n}\n\nexport function PeriodToJSON(value?: Period | null): any {\n return value as any;\n}\n\nexport function PeriodToJSONTyped(value: any, ignoreDiscriminator: boolean): Period {\n return value as Period;\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Forge API / Public\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { EventQueryRequest } from './EventQueryRequest';\nimport {\n EventQueryRequestFromJSON,\n EventQueryRequestFromJSONTyped,\n EventQueryRequestToJSON,\n EventQueryRequestToJSONTyped,\n} from './EventQueryRequest';\nimport type { Period } from './Period';\nimport {\n PeriodFromJSON,\n PeriodFromJSONTyped,\n PeriodToJSON,\n PeriodToJSONTyped,\n} from './Period';\n\n/**\n * \n * @export\n * @interface GetEventQueryStatsRequest\n */\nexport interface GetEventQueryStatsRequest {\n /**\n * \n * @type {Period}\n * @memberof GetEventQueryStatsRequest\n */\n period: Period;\n /**\n * Project to read the stats of\n * @type {string}\n * @memberof GetEventQueryStatsRequest\n */\n projectID: string;\n /**\n * \n * @type {EventQueryRequest}\n * @memberof GetEventQueryStatsRequest\n */\n query: EventQueryRequest;\n}\n\n\n\n/**\n * Check if a given object implements the GetEventQueryStatsRequest interface.\n */\nexport function instanceOfGetEventQueryStatsRequest(value: object): value is GetEventQueryStatsRequest {\n if (!('period' in value) || value['period'] === undefined) return false;\n if (!('projectID' in value) || value['projectID'] === undefined) return false;\n if (!('query' in value) || value['query'] === undefined) return false;\n return true;\n}\n\nexport function GetEventQueryStatsRequestFromJSON(json: any): GetEventQueryStatsRequest {\n return GetEventQueryStatsRequestFromJSONTyped(json, false);\n}\n\nexport function GetEventQueryStatsRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetEventQueryStatsRequest {\n if (json == null) {\n return json;\n }\n return {\n \n 'period': PeriodFromJSON(json['period']),\n 'projectID': json['projectID'],\n 'query': EventQueryRequestFromJSON(json['query']),\n };\n}\n\nexport function GetEventQueryStatsRequestToJSON(json: any): GetEventQueryStatsRequest {\n return GetEventQueryStatsRequestToJSONTyped(json, false);\n}\n\nexport function GetEventQueryStatsRequestToJSONTyped(value?: GetEventQueryStatsRequest | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'period': PeriodToJSON(value['period']),\n 'projectID': value['projectID'],\n 'query': EventQueryRequestToJSON(value['query']),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Forge API / Public\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { StatsDistributionResponse } from './StatsDistributionResponse';\nimport {\n StatsDistributionResponseFromJSON,\n StatsDistributionResponseFromJSONTyped,\n StatsDistributionResponseToJSON,\n StatsDistributionResponseToJSONTyped,\n} from './StatsDistributionResponse';\n\n/**\n * \n * @export\n * @interface SessionTimeStatsRowResponse\n */\nexport interface SessionTimeStatsRowResponse {\n /**\n * \n * @type {StatsDistributionResponse}\n * @memberof SessionTimeStatsRowResponse\n */\n bounceRate: StatsDistributionResponse;\n /**\n * \n * @type {StatsDistributionResponse}\n * @memberof SessionTimeStatsRowResponse\n */\n duration: StatsDistributionResponse;\n /**\n * \n * @type {StatsDistributionResponse}\n * @memberof SessionTimeStatsRowResponse\n */\n events: StatsDistributionResponse;\n /**\n * Timestamp of the stats row\n * @type {Date}\n * @memberof SessionTimeStatsRowResponse\n */\n key: Date;\n /**\n * \n * @type {StatsDistributionResponse}\n * @memberof SessionTimeStatsRowResponse\n */\n sessions: StatsDistributionResponse;\n /**\n * \n * @type {StatsDistributionResponse}\n * @memberof SessionTimeStatsRowResponse\n */\n users: StatsDistributionResponse;\n}\n\n/**\n * Check if a given object implements the SessionTimeStatsRowResponse interface.\n */\nexport function instanceOfSessionTimeStatsRowResponse(value: object): value is SessionTimeStatsRowResponse {\n if (!('bounceRate' in value) || value['bounceRate'] === undefined) return false;\n if (!('duration' in value) || value['duration'] === undefined) return false;\n if (!('events' in value) || value['events'] === undefined) return false;\n if (!('key' in value) || value['key'] === undefined) return false;\n if (!('sessions' in value) || value['sessions'] === undefined) return false;\n if (!('users' in value) || value['users'] === undefined) return false;\n return true;\n}\n\nexport function SessionTimeStatsRowResponseFromJSON(json: any): SessionTimeStatsRowResponse {\n return SessionTimeStatsRowResponseFromJSONTyped(json, false);\n}\n\nexport function SessionTimeStatsRowResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): SessionTimeStatsRowResponse {\n if (json == null) {\n return json;\n }\n return {\n \n 'bounceRate': StatsDistributionResponseFromJSON(json['bounceRate']),\n 'duration': StatsDistributionResponseFromJSON(json['duration']),\n 'events': StatsDistributionResponseFromJSON(json['events']),\n 'key': (new Date(json['key'])),\n 'sessions': StatsDistributionResponseFromJSON(json['sessions']),\n 'users': StatsDistributionResponseFromJSON(json['users']),\n };\n}\n\nexport function SessionTimeStatsRowResponseToJSON(json: any): SessionTimeStatsRowResponse {\n return SessionTimeStatsRowResponseToJSONTyped(json, false);\n}\n\nexport function SessionTimeStatsRowResponseToJSONTyped(value?: SessionTimeStatsRowResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'bounceRate': StatsDistributionResponseToJSON(value['bounceRate']),\n 'duration': StatsDistributionResponseToJSON(value['duration']),\n 'events': StatsDistributionResponseToJSON(value['events']),\n 'key': value['key'].toISOString(),\n 'sessions': StatsDistributionResponseToJSON(value['sessions']),\n 'users': StatsDistributionResponseToJSON(value['users']),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Forge API / Public\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { SessionTimeStatsRowResponse } from './SessionTimeStatsRowResponse';\nimport {\n SessionTimeStatsRowResponseFromJSON,\n SessionTimeStatsRowResponseFromJSONTyped,\n SessionTimeStatsRowResponseToJSON,\n SessionTimeStatsRowResponseToJSONTyped,\n} from './SessionTimeStatsRowResponse';\nimport type { GranularityType } from './GranularityType';\nimport {\n GranularityTypeFromJSON,\n GranularityTypeFromJSONTyped,\n GranularityTypeToJSON,\n GranularityTypeToJSONTyped,\n} from './GranularityType';\n\n/**\n * \n * @export\n * @interface SessionTimeStatsResponse\n */\nexport interface SessionTimeStatsResponse {\n /**\n * Rows of the comparison period\n * @type {Array<SessionTimeStatsRowResponse>}\n * @memberof SessionTimeStatsResponse\n */\n comparison: Array<SessionTimeStatsRowResponse>;\n /**\n * Rows of the current period\n * @type {Array<SessionTimeStatsRowResponse>}\n * @memberof SessionTimeStatsResponse\n */\n current: Array<SessionTimeStatsRowResponse>;\n /**\n * \n * @type {GranularityType}\n * @memberof SessionTimeStatsResponse\n */\n granularity: GranularityType;\n /**\n * Numeric ID of the project\n * @type {number}\n * @memberof SessionTimeStatsResponse\n */\n projectID: number;\n}\n\n\n\n/**\n * Check if a given object implements the SessionTimeStatsResponse interface.\n */\nexport function instanceOfSessionTimeStatsResponse(value: object): value is SessionTimeStatsResponse {\n if (!('comparison' in value) || value['comparison'] === undefined) return false;\n if (!('current' in value) || value['current'] === undefined) return false;\n if (!('granularity' in value) || value['granularity'] === undefined) return false;\n if (!('projectID' in value) || value['projectID'] === undefined) return false;\n return true;\n}\n\nexport function SessionTimeStatsResponseFromJSON(json: any): SessionTimeStatsResponse {\n return SessionTimeStatsResponseFromJSONTyped(json, false);\n}\n\nexport function SessionTimeStatsResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): SessionTimeStatsResponse {\n if (json == null) {\n return json;\n }\n return {\n \n 'comparison': ((json['comparison'] as Array<any>).map(SessionTimeStatsRowResponseFromJSON)),\n 'current': ((json['current'] as Array<any>).map(SessionTimeStatsRowResponseFromJSON)),\n 'granularity': GranularityTypeFromJSON(json['granularity']),\n 'projectID': json['projectID'],\n };\n}\n\nexport function SessionTimeStatsResponseToJSON(json: any): SessionTimeStatsResponse {\n return SessionTimeStatsResponseToJSONTyped(json, false);\n}\n\nexport function SessionTimeStatsResponseToJSONTyped(value?: SessionTimeStatsResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'comparison': ((value['comparison'] as Array<any>).map(SessionTimeStatsRowResponseToJSON)),\n 'current': ((value['current'] as Array<any>).map(SessionTimeStatsRowResponseToJSON)),\n 'granularity': GranularityTypeToJSON(value['granularity']),\n 'projectID': value['projectID'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Forge API / Public\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { StatsDistributionResponse } from './StatsDistributionResponse';\nimport {\n StatsDistributionResponseFromJSON,\n StatsDistributionResponseFromJSONTyped,\n StatsDistributionResponseToJSON,\n StatsDistributionResponseToJSONTyped,\n} from './StatsDistributionResponse';\n\n/**\n * \n * @export\n * @interface SessionTotalStatsValuesResponse\n */\nexport interface SessionTotalStatsValuesResponse {\n /**\n * \n * @type {StatsDistributionResponse}\n * @memberof SessionTotalStatsValuesResponse\n */\n bounceRate: StatsDistributionResponse;\n /**\n * \n * @type {StatsDistributionResponse}\n * @memberof SessionTotalStatsValuesResponse\n */\n duration: StatsDistributionResponse;\n /**\n * \n * @type {StatsDistributionResponse}\n * @memberof SessionTotalStatsValuesResponse\n */\n events: StatsDistributionResponse;\n /**\n * \n * @type {StatsDistributionResponse}\n * @memberof SessionTotalStatsValuesResponse\n */\n eventsBySession: StatsDistributionResponse;\n /**\n * \n * @type {StatsDistributionResponse}\n * @memberof SessionTotalStatsValuesResponse\n */\n sessions: StatsDistributionResponse;\n /**\n * \n * @type {StatsDistributionResponse}\n * @memberof SessionTotalStatsValuesResponse\n */\n users: StatsDistributionResponse;\n}\n\n/**\n * Check if a given object implements the SessionTotalStatsValuesResponse interface.\n */\nexport function instanceOfSessionTotalStatsValuesResponse(value: object): value is SessionTotalStatsValuesResponse {\n if (!('bounceRate' in value) || value['bounceRate'] === undefined) return false;\n if (!('duration' in value) || value['duration'] === undefined) return false;\n if (!('events' in value) || value['events'] === undefined) return false;\n if (!('eventsBySession' in value) || value['eventsBySession'] === undefined) return false;\n if (!('sessions' in value) || value['sessions'] === undefined) return false;\n if (!('users' in value) || value['users'] === undefined) return false;\n return true;\n}\n\nexport function SessionTotalStatsValuesResponseFromJSON(json: any): SessionTotalStatsValuesResponse {\n return SessionTotalStatsValuesResponseFromJSONTyped(json, false);\n}\n\nexport function SessionTotalStatsValuesResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): SessionTotalStatsValuesResponse {\n if (json == null) {\n return json;\n }\n return {\n \n 'bounceRate': StatsDistributionResponseFromJSON(json['bounceRate']),\n 'duration': StatsDistributionResponseFromJSON(json['duration']),\n 'events': StatsDistributionResponseFromJSON(json['events']),\n 'eventsBySession': StatsDistributionResponseFromJSON(json['eventsBySession']),\n 'sessions': StatsDistributionResponseFromJSON(json['sessions']),\n 'users': StatsDistributionResponseFromJSON(json['users']),\n };\n}\n\nexport function SessionTotalStatsValuesResponseToJSON(json: any): SessionTotalStatsValuesResponse {\n return SessionTotalStatsValuesResponseToJSONTyped(json, false);\n}\n\nexport function SessionTotalStatsValuesResponseToJSONTyped(value?: SessionTotalStatsValuesResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'bounceRate': StatsDistributionResponseToJSON(value['bounceRate']),\n 'duration': StatsDistributionResponseToJSON(value['duration']),\n 'events': StatsDistributionResponseToJSON(value['events']),\n 'eventsBySession': StatsDistributionResponseToJSON(value['eventsBySession']),\n 'sessions': StatsDistributionResponseToJSON(value['sessions']),\n 'users': StatsDistributionResponseToJSON(value['users']),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Forge API / Public\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { GranularityType } from './GranularityType';\nimport {\n GranularityTypeFromJSON,\n GranularityTypeFromJSONTyped,\n GranularityTypeToJSON,\n GranularityTypeToJSONTyped,\n} from './GranularityType';\nimport type { SessionTotalStatsValuesResponse } from './SessionTotalStatsValuesResponse';\nimport {\n SessionTotalStatsValuesResponseFromJSON,\n SessionTotalStatsValuesResponseFromJSONTyped,\n SessionTotalStatsValuesResponseToJSON,\n SessionTotalStatsValuesResponseToJSONTyped,\n} from './SessionTotalStatsValuesResponse';\n\n/**\n * \n * @export\n * @interface SessionTotalStatsResponse\n */\nexport interface SessionTotalStatsResponse {\n /**\n * \n * @type {SessionTotalStatsValuesResponse}\n * @memberof SessionTotalStatsResponse\n */\n current: SessionTotalStatsValuesResponse;\n /**\n * \n * @type {GranularityType}\n * @memberof SessionTotalStatsResponse\n */\n granularity: GranularityType;\n /**\n * \n * @type {SessionTotalStatsValuesResponse}\n * @memberof SessionTotalStatsResponse\n */\n previous?: SessionTotalStatsValuesResponse;\n /**\n * Numeric ID of the project\n * @type {number}\n * @memberof SessionTotalStatsResponse\n */\n projectID: number;\n}\n\n\n\n/**\n * Check if a given object implements the SessionTotalStatsResponse interface.\n */\nexport function instanceOfSessionTotalStatsResponse(value: object): value is SessionTotalStatsResponse {\n if (!('current' in value) || value['current'] === undefined) return false;\n if (!('granularity' in value) || value['granularity'] === undefined) return false;\n if (!('projectID' in value) || value['projectID'] === undefined) return false;\n return true;\n}\n\nexport function SessionTotalStatsResponseFromJSON(json: any): SessionTotalStatsResponse {\n return SessionTotalStatsResponseFromJSONTyped(json, false);\n}\n\nexport function SessionTotalStatsResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): SessionTotalStatsResponse {\n if (json == null) {\n return json;\n }\n return {\n \n 'current': SessionTotalStatsValuesResponseFromJSON(json['current']),\n 'granularity': GranularityTypeFromJSON(json['granularity']),\n 'previous': json['previous'] == null ? undefined : SessionTotalStatsValuesResponseFromJSON(json['previous']),\n 'projectID': json['projectID'],\n };\n}\n\nexport function SessionTotalStatsResponseToJSON(json: any): SessionTotalStatsResponse {\n return SessionTotalStatsResponseToJSONTyped(json, false);\n}\n\nexport function SessionTotalStatsResponseToJSONTyped(value?: SessionTotalStatsResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'current': SessionTotalStatsValuesResponseToJSON(value['current']),\n 'granularity': GranularityTypeToJSON(value['granularity']),\n 'previous': SessionTotalStatsValuesResponseToJSON(value['previous']),\n 'projectID': value['projectID'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Forge API / Public\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface StatsCardinalityResponse\n */\nexport interface StatsCardinalityResponse {\n /**\n * Names of the grouped values\n * @type {Array<string>}\n * @memberof StatsCardinalityResponse\n */\n aggregation: Array<string>;\n /**\n * Number of distinct values of the aggregation\n * @type {number}\n * @memberof StatsCardinalityResponse\n */\n cardinality: number;\n /**\n * Dimension keys of the aggregation\n * @type {Array<string>}\n * @memberof StatsCardinalityResponse\n */\n keys: Array<string>;\n}\n\n/**\n * Check if a given object implements the StatsCardinalityResponse interface.\n */\nexport function instanceOfStatsCardinalityResponse(value: object): value is StatsCardinalityResponse {\n if (!('aggregation' in value) || value['aggregation'] === undefined) return false;\n if (!('cardinality' in value) || value['cardinality'] === undefined) return false;\n if (!('keys' in value) || value['keys'] === undefined) return false;\n return true;\n}\n\nexport function StatsCardinalityResponseFromJSON(json: any): StatsCardinalityResponse {\n return StatsCardinalityResponseFromJSONTyped(json, false);\n}\n\nexport function StatsCardinalityResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): StatsCardinalityResponse {\n if (json == null) {\n return json;\n }\n return {\n \n 'aggregation': json['aggregation'],\n 'cardinality': json['cardinality'],\n 'keys': json['keys'],\n };\n}\n\nexport function StatsCardinalityResponseToJSON(json: any): StatsCardinalityResponse {\n return StatsCardinalityResponseToJSONTyped(json, false);\n}\n\nexport function StatsCardinalityResponseToJSONTyped(value?: StatsCardinalityResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'aggregation': value['aggregation'],\n 'cardinality': value['cardinality'],\n 'keys': value['keys'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Forge API / Public\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { StatsCardinalityResponse } from './StatsCardinalityResponse';\nimport {\n StatsCardinalityResponseFromJSON,\n StatsCardinalityResponseFromJSONTyped,\n StatsCardinalityResponseToJSON,\n StatsCardinalityResponseToJSONTyped,\n} from './StatsCardinalityResponse';\n\n/**\n * \n * @export\n * @interface StatsCardinalitiesResponse\n */\nexport interface StatsCardinalitiesResponse {\n /**\n * Cardinality of each aggregation\n * @type {Array<StatsCardinalityResponse>}\n * @memberof StatsCardinalitiesResponse\n */\n cardinalities: Array<StatsCardinalityResponse>;\n /**\n * Numeric ID of the project\n * @type {number}\n * @memberof StatsCardinalitiesResponse\n */\n projectID: number;\n}\n\n/**\n * Check if a given object implements the StatsCardinalitiesResponse interface.\n */\nexport function instanceOfStatsCardinalitiesResponse(value: object): value is StatsCardinalitiesResponse {\n if (!('cardinalities' in value) || value['cardinalities'] === undefined) return false;\n if (!('projectID' in value) || value['projectID'] === undefined) return false;\n return true;\n}\n\nexport function StatsCardinalitiesResponseFromJSON(json: any): StatsCardinalitiesResponse {\n return StatsCardinalitiesResponseFromJSONTyped(json, false);\n}\n\nexport function StatsCardinalitiesResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): StatsCardinalitiesResponse {\n if (json == null) {\n return json;\n }\n return {\n \n 'cardinalities': ((json['cardinalities'] as Array<any>).map(StatsCardinalityResponseFromJSON)),\n 'projectID': json['projectID'],\n };\n}\n\nexport function StatsCardinalitiesResponseToJSON(json: any): StatsCardinalitiesResponse {\n return StatsCardinalitiesResponseToJSONTyped(json, false);\n}\n\nexport function StatsCardinalitiesResponseToJSONTyped(value?: StatsCardinalitiesResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'cardinalities': ((value['cardinalities'] as Array<any>).map(StatsCardinalityResponseToJSON)),\n 'projectID': value['projectID'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Forge API / Public\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface StatsEventsGlobalDistributionTypeNameResponse\n */\nexport interface StatsEventsGlobalDistributionTypeNameResponse {\n /**\n * Name of the events\n * @type {string}\n * @memberof StatsEventsGlobalDistributionTypeNameResponse\n */\n name: string;\n /**\n * Share of the type events with the name\n * @type {number}\n * @memberof StatsEventsGlobalDistributionTypeNameResponse\n */\n percentage: number;\n /**\n * Number of events with the name\n * @type {number}\n * @memberof StatsEventsGlobalDistributionTypeNameResponse\n */\n total: number;\n}\n\n/**\n * Check if a given object implements the StatsEventsGlobalDistributionTypeNameResponse interface.\n */\nexport function instanceOfStatsEventsGlobalDistributionTypeNameResponse(value: object): value is StatsEventsGlobalDistributionTypeNameResponse {\n if (!('name' in value) || value['name'] === undefined) return false;\n if (!('percentage' in value) || value['percentage'] === undefined) return false;\n if (!('total' in value) || value['total'] === undefined) return false;\n return true;\n}\n\nexport function StatsEventsGlobalDistributionTypeNameResponseFromJSON(json: any): StatsEventsGlobalDistributionTypeNameResponse {\n return StatsEventsGlobalDistributionTypeNameResponseFromJSONTyped(json, false);\n}\n\nexport function StatsEventsGlobalDistributionTypeNameResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): StatsEventsGlobalDistributionTypeNameResponse {\n if (json == null) {\n return json;\n }\n return {\n \n 'name': json['name'],\n 'percentage': json['percentage'],\n 'total': json['total'],\n };\n}\n\nexport function StatsEventsGlobalDistributionTypeNameResponseToJSON(json: any): StatsEventsGlobalDistributionTypeNameResponse {\n return StatsEventsGlobalDistributionTypeNameResponseToJSONTyped(json, false);\n}\n\nexport function StatsEventsGlobalDistributionTypeNameResponseToJSONTyped(value?: StatsEventsGlobalDistributionTypeNameResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'name': value['name'],\n 'percentage': value['percentage'],\n 'total': value['total'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Forge API / Public\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { StatsEventsGlobalDistributionTypeNameResponse } from './StatsEventsGlobalDistributionTypeNameResponse';\nimport {\n StatsEventsGlobalDistributionTypeNameResponseFromJSON,\n StatsEventsGlobalDistributionTypeNameResponseFromJSONTyped,\n StatsEventsGlobalDistributionTypeNameResponseToJSON,\n StatsEventsGlobalDistributionTypeNameResponseToJSONTyped,\n} from './StatsEventsGlobalDistributionTypeNameResponse';\n\n/**\n * \n * @export\n * @interface StatsEventsGlobalDistributionTypeResponse\n */\nexport interface StatsEventsGlobalDistributionTypeResponse {\n /**\n * Distribution by event name\n * @type {Array<StatsEventsGlobalDistributionTypeNameResponse>}\n * @memberof StatsEventsGlobalDistributionTypeResponse\n */\n names: Array<StatsEventsGlobalDistributionTypeNameResponse>;\n /**\n * Number of events of the type\n * @type {number}\n * @memberof StatsEventsGlobalDistributionTypeResponse\n */\n total: number;\n /**\n * Event type\n * @type {string}\n * @memberof StatsEventsGlobalDistributionTypeResponse\n */\n type: string;\n}\n\n/**\n * Check if a given object implements the StatsEventsGlobalDistributionTypeResponse interface.\n */\nexport function instanceOfStatsEventsGlobalDistributionTypeResponse(value: object): value is StatsEventsGlobalDistributionTypeResponse {\n if (!('names' in value) || value['names'] === undefined) return false;\n if (!('total' in value) || value['total'] === undefined) return false;\n if (!('type' in value) || value['type'] === undefined) return false;\n return true;\n}\n\nexport function StatsEventsGlobalDistributionTypeResponseFromJSON(json: any): StatsEventsGlobalDistributionTypeResponse {\n return StatsEventsGlobalDistributionTypeResponseFromJSONTyped(json, false);\n}\n\nexport function StatsEventsGlobalDistributionTypeResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): StatsEventsGlobalDistributionTypeResponse {\n if (json == null) {\n return json;\n }\n return {\n \n 'names': ((json['names'] as Array<any>).map(StatsEventsGlobalDistributionTypeNameResponseFromJSON)),\n 'total': json['total'],\n 'type': json['type'],\n };\n}\n\nexport function StatsEventsGlobalDistributionTypeResponseToJSON(json: any): StatsEventsGlobalDistributionTypeResponse {\n return StatsEventsGlobalDistributionTypeResponseToJSONTyped(json, false);\n}\n\nexport function StatsEventsGlobalDistributionTypeResponseToJSONTyped(value?: StatsEventsGlobalDistributionTypeResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'names': ((value['names'] as Array<any>).map(StatsEventsGlobalDistributionTypeNameResponseToJSON)),\n 'total': value['total'],\n 'type': value['type'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Forge API / Public\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { StatsEventsGlobalDistributionTypeResponse } from './StatsEventsGlobalDistributionTypeResponse';\nimport {\n StatsEventsGlobalDistributionTypeResponseFromJSON,\n StatsEventsGlobalDistributionTypeResponseFromJSONTyped,\n StatsEventsGlobalDistributionTypeResponseToJSON,\n StatsEventsGlobalDistributionTypeResponseToJSONTyped,\n} from './StatsEventsGlobalDistributionTypeResponse';\n\n/**\n * \n * @export\n * @interface StatsEventsGlobalDistributionResponse\n */\nexport interface StatsEventsGlobalDistributionResponse {\n /**\n * Distribution of every requested type\n * @type {Array<StatsEventsGlobalDistributionTypeResponse>}\n * @memberof StatsEventsGlobalDistributionResponse\n */\n types: Array<StatsEventsGlobalDistributionTypeResponse>;\n}\n\n/**\n * Check if a given object implements the StatsEventsGlobalDistributionResponse interface.\n */\nexport function instanceOfStatsEventsGlobalDistributionResponse(value: object): value is StatsEventsGlobalDistributionResponse {\n if (!('types' in value) || value['types'] === undefined) return false;\n return true;\n}\n\nexport function StatsEventsGlobalDistributionResponseFromJSON(json: any): StatsEventsGlobalDistributionResponse {\n return StatsEventsGlobalDistributionResponseFromJSONTyped(json, false);\n}\n\nexport function StatsEventsGlobalDistributionResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): StatsEventsGlobalDistributionResponse {\n if (json == null) {\n return json;\n }\n return {\n \n 'types': ((json['types'] as Array<any>).map(StatsEventsGlobalDistributionTypeResponseFromJSON)),\n };\n}\n\nexport function StatsEventsGlobalDistributionResponseToJSON(json: any): StatsEventsGlobalDistributionResponse {\n return StatsEventsGlobalDistributionResponseToJSONTyped(json, false);\n}\n\nexport function StatsEventsGlobalDistributionResponseToJSONTyped(value?: StatsEventsGlobalDistributionResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'types': ((value['types'] as Array<any>).map(StatsEventsGlobalDistributionTypeResponseToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Forge API / Public\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface StatsTopAggregationValuesResponse\n */\nexport interface StatsTopAggregationValuesResponse {\n /**\n * Number of events\n * @type {number}\n * @memberof StatsTopAggregationValuesResponse\n */\n count: number;\n /**\n * Number of distinct users\n * @type {number}\n * @memberof StatsTopAggregationValuesResponse\n */\n users: number;\n /**\n * Values of the keys, in order\n * @type {Array<string>}\n * @memberof StatsTopAggregationValuesResponse\n */\n values: Array<string>;\n}\n\n/**\n * Check if a given object implements the StatsTopAggregationValuesResponse interface.\n */\nexport function instanceOfStatsTopAggregationValuesResponse(value: object): value is StatsTopAggregationValuesResponse {\n if (!('count' in value) || value['count'] === undefined) return false;\n if (!('users' in value) || value['users'] === undefined) return false;\n if (!('values' in value) || value['values'] === undefined) return false;\n return true;\n}\n\nexport function StatsTopAggregationValuesResponseFromJSON(json: any): StatsTopAggregationValuesResponse {\n return StatsTopAggregationValuesResponseFromJSONTyped(json, false);\n}\n\nexport function StatsTopAggregationValuesResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): StatsTopAggregationValuesResponse {\n if (json == null) {\n return json;\n }\n return {\n \n 'count': json['count'],\n 'users': json['users'],\n 'values': json['values'],\n };\n}\n\nexport function StatsTopAggregationValuesResponseToJSON(json: any): StatsTopAggregationValuesResponse {\n return StatsTopAggregationValuesResponseToJSONTyped(json, false);\n}\n\nexport function StatsTopAggregationValuesResponseToJSONTyped(value?: StatsTopAggregationValuesResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'count': value['count'],\n 'users': value['users'],\n 'values': value['values'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Forge API / Public\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { StatsTopAggregationValuesResponse } from './StatsTopAggregationValuesResponse';\nimport {\n StatsTopAggregationValuesResponseFromJSON,\n StatsTopAggregationValuesResponseFromJSONTyped,\n StatsTopAggregationValuesResponseToJSON,\n StatsTopAggregationValuesResponseToJSONTyped,\n} from './StatsTopAggregationValuesResponse';\n\n/**\n * \n * @export\n * @interface StatsTopAggregationResponse\n */\nexport interface StatsTopAggregationResponse {\n /**\n * Names of the grouped values\n * @type {Array<string>}\n * @memberof StatsTopAggregationResponse\n */\n aggregation: Array<string>;\n /**\n * ID of the aggregation\n * @type {string}\n * @memberof StatsTopAggregationResponse\n */\n id: string;\n /**\n * Dimension keys of the aggregation\n * @type {Array<string>}\n * @memberof StatsTopAggregationResponse\n */\n keys: Array<string>;\n /**\n * Top values of the aggregation\n * @type {Array<StatsTopAggregationValuesResponse>}\n * @memberof StatsTopAggregationResponse\n */\n values: Array<StatsTopAggregationValuesResponse>;\n}\n\n/**\n * Check if a given object implements the StatsTopAggregationResponse interface.\n */\nexport function instanceOfStatsTopAggregationResponse(value: object): value is StatsTopAggregationResponse {\n if (!('aggregation' in value) || value['aggregation'] === undefined) return false;\n if (!('id' in value) || value['id'] === undefined) return false;\n if (!('keys' in value) || value['keys'] === undefined) return false;\n if (!('values' in value) || value['values'] === undefined) return false;\n return true;\n}\n\nexport function StatsTopAggregationResponseFromJSON(json: any): StatsTopAggregationResponse {\n return StatsTopAggregationResponseFromJSONTyped(json, false);\n}\n\nexport function StatsTopAggregationResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): StatsTopAggregationResponse {\n if (json == null) {\n return json;\n }\n return {\n \n 'aggregation': json['aggregation'],\n 'id': json['id'],\n 'keys': json['keys'],\n 'values': ((json['values'] as Array<any>).map(StatsTopAggregationValuesResponseFromJSON)),\n };\n}\n\nexport function StatsTopAggregationResponseToJSON(json: any): StatsTopAggregationResponse {\n return StatsTopAggregationResponseToJSONTyped(json, false);\n}\n\nexport function StatsTopAggregationResponseToJSONTyped(value?: StatsTopAggregationResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'aggregation': value['aggregation'],\n 'id': value['id'],\n 'keys': value['keys'],\n 'values': ((value['values'] as Array<any>).map(StatsTopAggregationValuesResponseToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Forge API / Public\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { StatsTopAggregationResponse } from './StatsTopAggregationResponse';\nimport {\n StatsTopAggregationResponseFromJSON,\n StatsTopAggregationResponseFromJSONTyped,\n StatsTopAggregationResponseToJSON,\n StatsTopAggregationResponseToJSONTyped,\n} from './StatsTopAggregationResponse';\nimport type { GranularityType } from './GranularityType';\nimport {\n GranularityTypeFromJSON,\n GranularityTypeFromJSONTyped,\n GranularityTypeToJSON,\n GranularityTypeToJSONTyped,\n} from './GranularityType';\n\n/**\n * \n * @export\n * @interface StatsTopResponse\n */\nexport interface StatsTopResponse {\n /**\n * Top values of each aggregation\n * @type {Array<StatsTopAggregationResponse>}\n * @memberof StatsTopResponse\n */\n aggregations: Array<StatsTopAggregationResponse>;\n /**\n * \n * @type {GranularityType}\n * @memberof StatsTopResponse\n */\n granularity: GranularityType;\n /**\n * Numeric ID of the project\n * @type {number}\n * @memberof StatsTopResponse\n */\n projectID: number;\n}\n\n\n\n/**\n * Check if a given object implements the StatsTopResponse interface.\n */\nexport function instanceOfStatsTopResponse(value: object): value is StatsTopResponse {\n if (!('aggregations' in value) || value['aggregations'] === undefined) return false;\n if (!('granularity' in value) || value['granularity'] === undefined) return false;\n if (!('projectID' in value) || value['projectID'] === undefined) return false;\n return true;\n}\n\nexport function StatsTopResponseFromJSON(json: any): StatsTopResponse {\n return StatsTopResponseFromJSONTyped(json, false);\n}\n\nexport function StatsTopResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): StatsTopResponse {\n if (json == null) {\n return json;\n }\n return {\n \n 'aggregations': ((json['aggregations'] as Array<any>).map(StatsTopAggregationResponseFromJSON)),\n 'granularity': GranularityTypeFromJSON(json['granularity']),\n 'projectID': json['projectID'],\n };\n}\n\nexport function StatsTopResponseToJSON(json: any): StatsTopResponse {\n return StatsTopResponseToJSONTyped(json, false);\n}\n\nexport function StatsTopResponseToJSONTyped(value?: StatsTopResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'aggregations': ((value['aggregations'] as Array<any>).map(StatsTopAggregationResponseToJSON)),\n 'granularity': GranularityTypeToJSON(value['granularity']),\n 'projectID': value['projectID'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Forge API / Public\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as runtime from '../runtime';\nimport {\n type ErrorResponse,\n ErrorResponseFromJSON,\n ErrorResponseToJSON,\n} from '../models/ErrorResponse';\nimport {\n type EventTimeStatsResponse,\n EventTimeStatsResponseFromJSON,\n EventTimeStatsResponseToJSON,\n} from '../models/EventTimeStatsResponse';\nimport {\n type EventTotalStatsResponse,\n EventTotalStatsResponseFromJSON,\n EventTotalStatsResponseToJSON,\n} from '../models/EventTotalStatsResponse';\nimport {\n type GetEventQueryStatsRequest,\n GetEventQueryStatsRequestFromJSON,\n GetEventQueryStatsRequestToJSON,\n} from '../models/GetEventQueryStatsRequest';\nimport {\n type Period,\n PeriodFromJSON,\n PeriodToJSON,\n} from '../models/Period';\nimport {\n type SessionTimeStatsResponse,\n SessionTimeStatsResponseFromJSON,\n SessionTimeStatsResponseToJSON,\n} from '../models/SessionTimeStatsResponse';\nimport {\n type SessionTotalStatsResponse,\n SessionTotalStatsResponseFromJSON,\n SessionTotalStatsResponseToJSON,\n} from '../models/SessionTotalStatsResponse';\nimport {\n type StatsCardinalitiesResponse,\n StatsCardinalitiesResponseFromJSON,\n StatsCardinalitiesResponseToJSON,\n} from '../models/StatsCardinalitiesResponse';\nimport {\n type StatsEventsGlobalDistributionResponse,\n StatsEventsGlobalDistributionResponseFromJSON,\n StatsEventsGlobalDistributionResponseToJSON,\n} from '../models/StatsEventsGlobalDistributionResponse';\nimport {\n type StatsTopResponse,\n StatsTopResponseFromJSON,\n StatsTopResponseToJSON,\n} from '../models/StatsTopResponse';\n\nexport interface GetCardinalitiesRequest {\n projectID: string;\n}\n\nexport interface GetEventQueryStatsOperationRequest {\n getEventQueryStatsRequest?: GetEventQueryStatsRequest;\n}\n\nexport interface GetEventTimeStatsRequest {\n projectID: string;\n period: Period;\n keys?: Array<string>;\n values?: Array<string>;\n}\n\nexport interface GetEventTotalStatsRequest {\n projectID: string;\n period: Period;\n}\n\nexport interface GetEventsGlobalDistributionRequest {\n types: Array<string>;\n}\n\nexport interface GetSessionTimeStatsRequest {\n projectID: string;\n period: Period;\n}\n\nexport interface GetSessionTotalStatsRequest {\n projectID: string;\n period: Period;\n}\n\nexport interface GetTopStatsRequest {\n projectID: string;\n period: Period;\n keys?: Array<string>;\n aggregation?: Array<string>;\n values?: Array<string>;\n}\n\n/**\n * \n */\nexport class StatsApi extends runtime.BaseAPI {\n\n /**\n * Creates request options for getCardinalities without sending the request\n */\n async getCardinalitiesRequestOpts(requestParameters: GetCardinalitiesRequest): Promise<runtime.RequestOpts> {\n if (requestParameters['projectID'] == null) {\n throw new runtime.RequiredError(\n 'projectID',\n 'Required parameter \"projectID\" was null or undefined when calling getCardinalities().'\n );\n }\n\n const queryParameters: any = {};\n\n if (requestParameters['projectID'] != null) {\n queryParameters['projectID'] = requestParameters['projectID'];\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"x-token\"] = await this.configuration.apiKey(\"x-token\"); // ApiKeyAuth authentication\n }\n\n\n let urlPath = `/api/v1/stats/cardinalities`;\n\n return {\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n };\n }\n\n /**\n * Returns how many distinct values each dimension aggregation of the project has.\n * Get cardinalities\n */\n async getCardinalitiesRaw(requestParameters: GetCardinalitiesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<StatsCardinalitiesResponse>> {\n const requestOptions = await this.getCardinalitiesRequestOpts(requestParameters);\n const response = await this.request(requestOptions, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => StatsCardinalitiesResponseFromJSON(jsonValue));\n }\n\n /**\n * Returns how many distinct values each dimension aggregation of the project has.\n * Get cardinalities\n */\n async getCardinalities(requestParameters: GetCardinalitiesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<StatsCardinalitiesResponse> {\n const response = await this.getCardinalitiesRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Creates request options for getEventQueryStats without sending the request\n */\n async getEventQueryStatsRequestOpts(requestParameters: GetEventQueryStatsOperationRequest): Promise<runtime.RequestOpts> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"x-token\"] = await this.configuration.apiKey(\"x-token\"); // ApiKeyAuth authentication\n }\n\n\n let urlPath = `/api/v1/stats/event/query`;\n\n return {\n path: urlPath,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: GetEventQueryStatsRequestToJSON(requestParameters['getEventQueryStatsRequest']),\n };\n }\n\n /**\n * Returns the event counts over time of events matching a query, with the previous period.\n * Get event query stats\n */\n async getEventQueryStatsRaw(requestParameters: GetEventQueryStatsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<EventTimeStatsResponse>> {\n const requestOptions = await this.getEventQueryStatsRequestOpts(requestParameters);\n const response = await this.request(requestOptions, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => EventTimeStatsResponseFromJSON(jsonValue));\n }\n\n /**\n * Returns the event counts over time of events matching a query, with the previous period.\n * Get event query stats\n */\n async getEventQueryStats(requestParameters: GetEventQueryStatsOperationRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<EventTimeStatsResponse> {\n const response = await this.getEventQueryStatsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Creates request options for getEventTimeStats without sending the request\n */\n async getEventTimeStatsRequestOpts(requestParameters: GetEventTimeStatsRequest): Promise<runtime.RequestOpts> {\n if (requestParameters['projectID'] == null) {\n throw new runtime.RequiredError(\n 'projectID',\n 'Required parameter \"projectID\" was null or undefined when calling getEventTimeStats().'\n );\n }\n\n if (requestParameters['period'] == null) {\n throw new runtime.RequiredError(\n 'period',\n 'Required parameter \"period\" was null or undefined when calling getEventTimeStats().'\n );\n }\n\n const queryParameters: any = {};\n\n if (requestParameters['projectID'] != null) {\n queryParameters['projectID'] = requestParameters['projectID'];\n }\n\n if (requestParameters['keys'] != null) {\n queryParameters['keys'] = requestParameters['keys'];\n }\n\n if (requestParameters['values'] != null) {\n queryParameters['values'] = requestParameters['values'];\n }\n\n if (requestParameters['period'] != null) {\n queryParameters['period'] = requestParameters['period'];\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"x-token\"] = await this.configuration.apiKey(\"x-token\"); // ApiKeyAuth authentication\n }\n\n\n let urlPath = `/api/v1/stats/event/time`;\n\n return {\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n };\n }\n\n /**\n * Returns the event counts of each requested aggregation over time, with the previous period.\n * Get event time stats\n */\n async getEventTimeStatsRaw(requestParameters: GetEventTimeStatsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<EventTimeStatsResponse>> {\n const requestOptions = await this.getEventTimeStatsRequestOpts(requestParameters);\n const response = await this.request(requestOptions, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => EventTimeStatsResponseFromJSON(jsonValue));\n }\n\n /**\n * Returns the event counts of each requested aggregation over time, with the previous period.\n * Get event time stats\n */\n async getEventTimeStats(requestParameters: GetEventTimeStatsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<EventTimeStatsResponse> {\n const response = await this.getEventTimeStatsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Creates request options for getEventTotalStats without sending the request\n */\n async getEventTotalStatsRequestOpts(requestParameters: GetEventTotalStatsRequest): Promise<runtime.RequestOpts> {\n if (requestParameters['projectID'] == null) {\n throw new runtime.RequiredError(\n 'projectID',\n 'Required parameter \"projectID\" was null or undefined when calling getEventTotalStats().'\n );\n }\n\n if (requestParameters['period'] == null) {\n throw new runtime.RequiredError(\n 'period',\n 'Required parameter \"period\" was null or undefined when calling getEventTotalStats().'\n );\n }\n\n const queryParameters: any = {};\n\n if (requestParameters['projectID'] != null) {\n queryParameters['projectID'] = requestParameters['projectID'];\n }\n\n if (requestParameters['period'] != null) {\n queryParameters['period'] = requestParameters['period'];\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"x-token\"] = await this.configuration.apiKey(\"x-token\"); // ApiKeyAuth authentication\n }\n\n\n let urlPath = `/api/v1/stats/event/total`;\n\n return {\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n };\n }\n\n /**\n * Returns the event and user distributions of the period, with the previous period.\n * Get event total stats\n */\n async getEventTotalStatsRaw(requestParameters: GetEventTotalStatsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<EventTotalStatsResponse>> {\n const requestOptions = await this.getEventTotalStatsRequestOpts(requestParameters);\n const response = await this.request(requestOptions, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => EventTotalStatsResponseFromJSON(jsonValue));\n }\n\n /**\n * Returns the event and user distributions of the period, with the previous period.\n * Get event total stats\n */\n async getEventTotalStats(requestParameters: GetEventTotalStatsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<EventTotalStatsResponse> {\n const response = await this.getEventTotalStatsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Creates request options for getEventsGlobalDistribution without sending the request\n */\n async getEventsGlobalDistributionRequestOpts(requestParameters: GetEventsGlobalDistributionRequest): Promise<runtime.RequestOpts> {\n if (requestParameters['types'] == null) {\n throw new runtime.RequiredError(\n 'types',\n 'Required parameter \"types\" was null or undefined when calling getEventsGlobalDistribution().'\n );\n }\n\n const queryParameters: any = {};\n\n if (requestParameters['types'] != null) {\n queryParameters['types'] = requestParameters['types'];\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"x-token\"] = await this.configuration.apiKey(\"x-token\"); // ApiKeyAuth authentication\n }\n\n\n let urlPath = `/api/v1/stats/event/distribution`;\n\n return {\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n };\n }\n\n /**\n * Returns, for each requested event type, how its events split by name across the project.\n * Get events global distribution\n */\n async getEventsGlobalDistributionRaw(requestParameters: GetEventsGlobalDistributionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<StatsEventsGlobalDistributionResponse>> {\n const requestOptions = await this.getEventsGlobalDistributionRequestOpts(requestParameters);\n const response = await this.request(requestOptions, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => StatsEventsGlobalDistributionResponseFromJSON(jsonValue));\n }\n\n /**\n * Returns, for each requested event type, how its events split by name across the project.\n * Get events global distribution\n */\n async getEventsGlobalDistribution(requestParameters: GetEventsGlobalDistributionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<StatsEventsGlobalDistributionResponse> {\n const response = await this.getEventsGlobalDistributionRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Creates request options for getSessionTimeStats without sending the request\n */\n async getSessionTimeStatsRequestOpts(requestParameters: GetSessionTimeStatsRequest): Promise<runtime.RequestOpts> {\n if (requestParameters['projectID'] == null) {\n throw new runtime.RequiredError(\n 'projectID',\n 'Required parameter \"projectID\" was null or undefined when calling getSessionTimeStats().'\n );\n }\n\n if (requestParameters['period'] == null) {\n throw new runtime.RequiredError(\n 'period',\n 'Required parameter \"period\" was null or undefined when calling getSessionTimeStats().'\n );\n }\n\n const queryParameters: any = {};\n\n if (requestParameters['projectID'] != null) {\n queryParameters['projectID'] = requestParameters['projectID'];\n }\n\n if (requestParameters['period'] != null) {\n queryParameters['period'] = requestParameters['period'];\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"x-token\"] = await this.configuration.apiKey(\"x-token\"); // ApiKeyAuth authentication\n }\n\n\n let urlPath = `/api/v1/stats/session/time`;\n\n return {\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n };\n }\n\n /**\n * Returns the session stats of each row over time, with the comparison period.\n * Get sessions time stats\n */\n async getSessionTimeStatsRaw(requestParameters: GetSessionTimeStatsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SessionTimeStatsResponse>> {\n const requestOptions = await this.getSessionTimeStatsRequestOpts(requestParameters);\n const response = await this.request(requestOptions, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => SessionTimeStatsResponseFromJSON(jsonValue));\n }\n\n /**\n * Returns the session stats of each row over time, with the comparison period.\n * Get sessions time stats\n */\n async getSessionTimeStats(requestParameters: GetSessionTimeStatsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SessionTimeStatsResponse> {\n const response = await this.getSessionTimeStatsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Creates request options for getSessionTotalStats without sending the request\n */\n async getSessionTotalStatsRequestOpts(requestParameters: GetSessionTotalStatsRequest): Promise<runtime.RequestOpts> {\n if (requestParameters['projectID'] == null) {\n throw new runtime.RequiredError(\n 'projectID',\n 'Required parameter \"projectID\" was null or undefined when calling getSessionTotalStats().'\n );\n }\n\n if (requestParameters['period'] == null) {\n throw new runtime.RequiredError(\n 'period',\n 'Required parameter \"period\" was null or undefined when calling getSessionTotalStats().'\n );\n }\n\n const queryParameters: any = {};\n\n if (requestParameters['projectID'] != null) {\n queryParameters['projectID'] = requestParameters['projectID'];\n }\n\n if (requestParameters['period'] != null) {\n queryParameters['period'] = requestParameters['period'];\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"x-token\"] = await this.configuration.apiKey(\"x-token\"); // ApiKeyAuth authentication\n }\n\n\n let urlPath = `/api/v1/stats/session/total`;\n\n return {\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n };\n }\n\n /**\n * Returns the session distributions of the period, with the previous period.\n * Get session total stats\n */\n async getSessionTotalStatsRaw(requestParameters: GetSessionTotalStatsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SessionTotalStatsResponse>> {\n const requestOptions = await this.getSessionTotalStatsRequestOpts(requestParameters);\n const response = await this.request(requestOptions, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => SessionTotalStatsResponseFromJSON(jsonValue));\n }\n\n /**\n * Returns the session distributions of the period, with the previous period.\n * Get session total stats\n */\n async getSessionTotalStats(requestParameters: GetSessionTotalStatsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SessionTotalStatsResponse> {\n const response = await this.getSessionTotalStatsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Creates request options for getTopStats without sending the request\n */\n async getTopStatsRequestOpts(requestParameters: GetTopStatsRequest): Promise<runtime.RequestOpts> {\n if (requestParameters['projectID'] == null) {\n throw new runtime.RequiredError(\n 'projectID',\n 'Required parameter \"projectID\" was null or undefined when calling getTopStats().'\n );\n }\n\n if (requestParameters['period'] == null) {\n throw new runtime.RequiredError(\n 'period',\n 'Required parameter \"period\" was null or undefined when calling getTopStats().'\n );\n }\n\n const queryParameters: any = {};\n\n if (requestParameters['projectID'] != null) {\n queryParameters['projectID'] = requestParameters['projectID'];\n }\n\n if (requestParameters['keys'] != null) {\n queryParameters['keys'] = requestParameters['keys'];\n }\n\n if (requestParameters['aggregation'] != null) {\n queryParameters['aggregation'] = requestParameters['aggregation'];\n }\n\n if (requestParameters['values'] != null) {\n queryParameters['values'] = requestParameters['values'];\n }\n\n if (requestParameters['period'] != null) {\n queryParameters['period'] = requestParameters['period'];\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"x-token\"] = await this.configuration.apiKey(\"x-token\"); // ApiKeyAuth authentication\n }\n\n\n let urlPath = `/api/v1/stats/top`;\n\n return {\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n };\n }\n\n /**\n * Returns the most frequent values of each requested aggregation within the period.\n * Get top stats\n */\n async getTopStatsRaw(requestParameters: GetTopStatsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<StatsTopResponse>> {\n const requestOptions = await this.getTopStatsRequestOpts(requestParameters);\n const response = await this.request(requestOptions, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => StatsTopResponseFromJSON(jsonValue));\n }\n\n /**\n * Returns the most frequent values of each requested aggregation within the period.\n * Get top stats\n */\n async getTopStats(requestParameters: GetTopStatsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<StatsTopResponse> {\n const response = await this.getTopStatsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Forge API / Public\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface IdentifyUserResponse\n */\nexport interface IdentifyUserResponse {\n /**\n * City of the IP address\n * @type {string}\n * @memberof IdentifyUserResponse\n */\n city: string;\n /**\n * Country of the IP address\n * @type {string}\n * @memberof IdentifyUserResponse\n */\n country: string;\n /**\n * Browser of the user agent\n * @type {string}\n * @memberof IdentifyUserResponse\n */\n deviceBrowser: string;\n /**\n * Kind of device of the user agent\n * @type {string}\n * @memberof IdentifyUserResponse\n */\n deviceType: string;\n /**\n * Latitude of the IP address\n * @type {number}\n * @memberof IdentifyUserResponse\n */\n lat: number;\n /**\n * Longitude of the IP address\n * @type {number}\n * @memberof IdentifyUserResponse\n */\n lng: number;\n /**\n * Operating system of the user agent\n * @type {string}\n * @memberof IdentifyUserResponse\n */\n os: string;\n /**\n * Postcode of the IP address\n * @type {string}\n * @memberof IdentifyUserResponse\n */\n postcode: string;\n /**\n * Region of the IP address\n * @type {string}\n * @memberof IdentifyUserResponse\n */\n region: string;\n /**\n * Time zone of the IP address\n * @type {string}\n * @memberof IdentifyUserResponse\n */\n timeZone: string;\n}\n\n/**\n * Check if a given object implements the IdentifyUserResponse interface.\n */\nexport function instanceOfIdentifyUserResponse(value: object): value is IdentifyUserResponse {\n if (!('city' in value) || value['city'] === undefined) return false;\n if (!('country' in value) || value['country'] === undefined) return false;\n if (!('deviceBrowser' in value) || value['deviceBrowser'] === undefined) return false;\n if (!('deviceType' in value) || value['deviceType'] === undefined) return false;\n if (!('lat' in value) || value['lat'] === undefined) return false;\n if (!('lng' in value) || value['lng'] === undefined) return false;\n if (!('os' in value) || value['os'] === undefined) return false;\n if (!('postcode' in value) || value['postcode'] === undefined) return false;\n if (!('region' in value) || value['region'] === undefined) return false;\n if (!('timeZone' in value) || value['timeZone'] === undefined) return false;\n return true;\n}\n\nexport function IdentifyUserResponseFromJSON(json: any): IdentifyUserResponse {\n return IdentifyUserResponseFromJSONTyped(json, false);\n}\n\nexport function IdentifyUserResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): IdentifyUserResponse {\n if (json == null) {\n return json;\n }\n return {\n \n 'city': json['city'],\n 'country': json['country'],\n 'deviceBrowser': json['deviceBrowser'],\n 'deviceType': json['deviceType'],\n 'lat': json['lat'],\n 'lng': json['lng'],\n 'os': json['os'],\n 'postcode': json['postcode'],\n 'region': json['region'],\n 'timeZone': json['timeZone'],\n };\n}\n\nexport function IdentifyUserResponseToJSON(json: any): IdentifyUserResponse {\n return IdentifyUserResponseToJSONTyped(json, false);\n}\n\nexport function IdentifyUserResponseToJSONTyped(value?: IdentifyUserResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'city': value['city'],\n 'country': value['country'],\n 'deviceBrowser': value['deviceBrowser'],\n 'deviceType': value['deviceType'],\n 'lat': value['lat'],\n 'lng': value['lng'],\n 'os': value['os'],\n 'postcode': value['postcode'],\n 'region': value['region'],\n 'timeZone': value['timeZone'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Forge API / Public\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as runtime from '../runtime';\nimport {\n type ErrorResponse,\n ErrorResponseFromJSON,\n ErrorResponseToJSON,\n} from '../models/ErrorResponse';\nimport {\n type IdentifyUserResponse,\n IdentifyUserResponseFromJSON,\n IdentifyUserResponseToJSON,\n} from '../models/IdentifyUserResponse';\n\nexport interface IdentifyUserRequest {\n userIp?: string;\n userAgent?: string;\n}\n\n/**\n * \n */\nexport class UserApi extends runtime.BaseAPI {\n\n /**\n * Creates request options for identifyUser without sending the request\n */\n async identifyUserRequestOpts(requestParameters: IdentifyUserRequest): Promise<runtime.RequestOpts> {\n const queryParameters: any = {};\n\n if (requestParameters['userIp'] != null) {\n queryParameters['userIp'] = requestParameters['userIp'];\n }\n\n if (requestParameters['userAgent'] != null) {\n queryParameters['userAgent'] = requestParameters['userAgent'];\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"x-token\"] = await this.configuration.apiKey(\"x-token\"); // ApiKeyAuth authentication\n }\n\n\n let urlPath = `/api/v1/user/identify`;\n\n return {\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n };\n }\n\n /**\n * Returns the location of the IP address and the device of the user agent, those of the request unless given; needs the get-stats permission.\n * Identify user\n */\n async identifyUserRaw(requestParameters: IdentifyUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<IdentifyUserResponse>> {\n const requestOptions = await this.identifyUserRequestOpts(requestParameters);\n const response = await this.request(requestOptions, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => IdentifyUserResponseFromJSON(jsonValue));\n }\n\n /**\n * Returns the location of the IP address and the device of the user agent, those of the request unless given; needs the get-stats permission.\n * Identify user\n */\n async identifyUser(requestParameters: IdentifyUserRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<IdentifyUserResponse> {\n const response = await this.identifyUserRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Forge API / Public\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface FieldError\n */\nexport interface FieldError {\n /**\n * Path of the invalid field, like items[1].name\n * @type {string}\n * @memberof FieldError\n */\n field: string;\n /**\n * What is wrong with the field\n * @type {string}\n * @memberof FieldError\n */\n message: string;\n}\n\n/**\n * Check if a given object implements the FieldError interface.\n */\nexport function instanceOfFieldError(value: object): value is FieldError {\n if (!('field' in value) || value['field'] === undefined) return false;\n if (!('message' in value) || value['message'] === undefined) return false;\n return true;\n}\n\nexport function FieldErrorFromJSON(json: any): FieldError {\n return FieldErrorFromJSONTyped(json, false);\n}\n\nexport function FieldErrorFromJSONTyped(json: any, ignoreDiscriminator: boolean): FieldError {\n if (json == null) {\n return json;\n }\n return {\n \n 'field': json['field'],\n 'message': json['message'],\n };\n}\n\nexport function FieldErrorToJSON(json: any): FieldError {\n return FieldErrorToJSONTyped(json, false);\n}\n\nexport function FieldErrorToJSONTyped(value?: FieldError | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'field': value['field'],\n 'message': value['message'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Forge API / Public\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { FieldError } from './FieldError';\nimport {\n FieldErrorFromJSON,\n FieldErrorFromJSONTyped,\n FieldErrorToJSON,\n FieldErrorToJSONTyped,\n} from './FieldError';\n\n/**\n * \n * @export\n * @interface ErrorResponse\n */\nexport interface ErrorResponse {\n /**\n * Error code; INTERNAL_001 for errors the server keeps to itself\n * @type {ErrorResponseCodeEnum}\n * @memberof ErrorResponse\n */\n code: ErrorResponseCodeEnum;\n /**\n * Invalid fields, on 422 only\n * @type {Array<FieldError>}\n * @memberof ErrorResponse\n */\n fields?: Array<FieldError>;\n /**\n * Message to show the user\n * @type {string}\n * @memberof ErrorResponse\n */\n message: string;\n}\n\n\n/**\n * @export\n */\nexport const ErrorResponseCodeEnum = {\n Internal001: 'INTERNAL_001',\n Validation: 'VALIDATION',\n BadRequest: 'BAD_REQUEST',\n TooLarge: 'TOO_LARGE',\n Org016: 'ORG_016',\n Prj008: 'PRJ_008'\n} as const;\nexport type ErrorResponseCodeEnum = typeof ErrorResponseCodeEnum[keyof typeof ErrorResponseCodeEnum];\n\n\n/**\n * Check if a given object implements the ErrorResponse interface.\n */\nexport function instanceOfErrorResponse(value: object): value is ErrorResponse {\n if (!('code' in value) || value['code'] === undefined) return false;\n if (!('message' in value) || value['message'] === undefined) return false;\n return true;\n}\n\nexport function ErrorResponseFromJSON(json: any): ErrorResponse {\n return ErrorResponseFromJSONTyped(json, false);\n}\n\nexport function ErrorResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ErrorResponse {\n if (json == null) {\n return json;\n }\n return {\n \n 'code': json['code'],\n 'fields': json['fields'] == null ? undefined : ((json['fields'] as Array<any>).map(FieldErrorFromJSON)),\n 'message': json['message'],\n };\n}\n\nexport function ErrorResponseToJSON(json: any): ErrorResponse {\n return ErrorResponseToJSONTyped(json, false);\n}\n\nexport function ErrorResponseToJSONTyped(value?: ErrorResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'code': value['code'],\n 'fields': value['fields'] == null ? undefined : ((value['fields'] as Array<any>).map(FieldErrorToJSON)),\n 'message': value['message'],\n };\n}\n\n"],"mappings":"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"}