{"version":3,"file":"index.cjs","names":["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.RequiredError","runtime.JSONApiResponse","runtime.BaseAPI","runtime.RequiredError","runtime.JSONApiResponse","runtime.BaseAPI","runtime.RequiredError","runtime.JSONApiResponse","runtime.BaseAPI","runtime.RequiredError","runtime.JSONApiResponse","runtime.BaseAPI","runtime.JSONApiResponse","runtime.RequiredError","runtime.BaseAPI","runtime.RequiredError","runtime.JSONApiResponse","runtime.VoidApiResponse"],"sources":["../src/runtime.ts","../src/models/BSDsResponse.ts","../src/apis/BSDsApi.ts","../src/models/MobileOS.ts","../src/models/InstallPreference.ts","../src/models/DeeplinkRule.ts","../src/models/BitlinkBody.ts","../src/models/BitlinkUpdateBody.ts","../src/models/BitlinksPagination.ts","../src/models/Bitlinks.ts","../src/models/BulkUpdate.ts","../src/models/BulkUpdateRequest.ts","../src/models/OtherMetrics.ts","../src/models/CityMetric.ts","../src/models/CityMetrics.ts","../src/models/ClickMetric.ts","../src/models/ClickMetrics.ts","../src/models/LinkClicks.ts","../src/models/Clicks.ts","../src/models/ClicksSummary.ts","../src/models/DeviceMetric.ts","../src/models/DeviceMetrics.ts","../src/models/ExpandBitlink.ts","../src/models/ExpandedBitlink.ts","../src/models/Deeplink.ts","../src/models/FullShorten.ts","../src/models/DeletedLink.ts","../src/models/LinkDeletionResponse.ts","../src/models/Metric.ts","../src/models/ReferrersByDomain.ts","../src/models/ReferrersByDomains.ts","../src/models/Shorten.ts","../src/models/ShortenBitlinkBody.ts","../src/models/ClickLink.ts","../src/models/SortedLinks.ts","../src/models/EngagementSubtotal.ts","../src/models/QRCodeTypeEnum.ts","../src/models/QRCodeMinimal.ts","../src/models/TopLinksAndQRCodes.ts","../src/models/Engagement.ts","../src/models/Engagements.ts","../src/models/TotalEngagements.ts","../src/models/TotalEngagementsSummary.ts","../src/apis/BitlinksApi.ts","../src/models/Campaign.ts","../src/models/CampaignModify.ts","../src/models/Campaigns.ts","../src/models/Channel.ts","../src/models/BaseChannelBitlink.ts","../src/models/ChannelModify.ts","../src/models/Channels.ts","../src/apis/CampaignsApi.ts","../src/models/AddCustomBitlink.ts","../src/models/CustomBitlinkHistory.ts","../src/models/CustomBitlink.ts","../src/models/UpdateCustomBitlink.ts","../src/apis/CustomBitlinksApi.ts","../src/models/OAuthApp.ts","../src/apis/DefaultApi.ts","../src/models/GetGroupLinkClicksByDevice200ResponseMetricsInner.ts","../src/models/GetGroupLinkClicksByDevice200Response.ts","../src/models/GetGroupTopCodeScans200Response.ts","../src/models/Group.ts","../src/models/CountItem.ts","../src/models/GroupClicks.ts","../src/models/GroupExportFilter.ts","../src/models/GroupExportRequestBody.ts","../src/models/GroupExportResponse.ts","../src/models/GroupConsumableFeatureUsage.ts","../src/models/GroupFeatureUsage.ts","../src/models/HistoricalUsage.ts","../src/models/HistoricalFeatureUsage.ts","../src/models/GroupHistoricalUsage.ts","../src/models/GroupPreferences.ts","../src/models/GroupUpdate.ts","../src/models/Groups.ts","../src/models/Metrics.ts","../src/models/Tags.ts","../src/apis/GroupsApi.ts","../src/models/Organization.ts","../src/models/Organizations.ts","../src/models/PlanLimit.ts","../src/models/PlanLimits.ts","../src/apis/OrganizationsApi.ts","../src/models/QRScans.ts","../src/models/BitlinkScans.ts","../src/models/BitlinkScansSummary.ts","../src/models/OtherScanMetrics.ts","../src/models/CityScanMetric.ts","../src/models/CityScanMetrics.ts","../src/models/GradientColor.ts","../src/models/QRCodeGradient.ts","../src/models/QRCodeLogoPublic.ts","../src/models/QRCodeDotPatternType.ts","../src/models/QRCodeSpecSettingsPublic.ts","../src/models/QRCodeCorner.ts","../src/models/QRCodeCorners.ts","../src/models/QRCodeFrameType.ts","../src/models/QRCodeFrameRequestColors.ts","../src/models/Text.ts","../src/models/QRCodeFrameRequestText.ts","../src/models/QRCodeFrameRequest.ts","../src/models/QRCodeBranding.ts","../src/models/QRCodeText.ts","../src/models/QRCodeCustomizationsPublic.ts","../src/models/QRCodeDestination.ts","../src/models/GS1Value.ts","../src/models/GS1Metadata.ts","../src/models/PublicCreateQRCodeRequest.ts","../src/models/QRCodeCustomizationsStaticPublic.ts","../src/models/PublicCreateStaticQRCodeRequest.ts","../src/models/DeletedQRCode.ts","../src/models/PublicDeleteQRCodeResponse.ts","../src/models/PublicQRCodeImageResponse.ts","../src/models/PublicStaticQRCodeResponse.ts","../src/models/PublicUpdateQRCodeRequest.ts","../src/models/QRCodeDetails.ts","../src/models/QRPagination.ts","../src/models/QRCodesMinimal.ts","../src/models/ScanMetric.ts","../src/models/ScanMetrics.ts","../src/apis/QRCodesApi.ts","../src/models/MethodLimit.ts","../src/models/PlatformLimit.ts","../src/models/PlatformLimits.ts","../src/models/Email.ts","../src/models/User.ts","../src/models/UserUpdate.ts","../src/apis/UserApi.ts","../src/models/Webhook.ts","../src/models/WebhookCreate.ts","../src/models/WebhookUpdate.ts","../src/models/Webhooks.ts","../src/apis/WebhooksApi.ts","../src/models/FieldError.ts","../src/models/BadGateway.ts","../src/models/BadRequest.ts","../src/models/BaseChannel.ts","../src/models/BaseMetrics.ts","../src/models/BaseScanMetrics.ts","../src/models/BitlinkUpdate.ts","../src/models/Conflict.ts","../src/models/ExpectationFailed.ts","../src/models/Forbidden.ts","../src/models/Gone.ts","../src/models/HasReferences.ts","../src/models/InternalError.ts","../src/models/ModelError.ts","../src/models/MonthlyLimitExceeded.ts","../src/models/NotFound.ts","../src/models/SimplifiedError.ts","../src/models/TemporarilyUnavailable.ts","../src/models/TimeUnit.ts","../src/models/TimeUnitDWM.ts","../src/models/UnprocessableEntity.ts","../src/models/UpgradeRequired.ts"],"sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 = \"https://api-ssl.bitly.com/v4\".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 * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 BSDsResponse\n */\nexport interface BSDsResponse {\n    /**\n     * \n     * @type {Array<string>}\n     * @memberof BSDsResponse\n     */\n    bsds?: Array<string>;\n}\n\n/**\n * Check if a given object implements the BSDsResponse interface.\n */\nexport function instanceOfBSDsResponse(value: object): value is BSDsResponse {\n    return true;\n}\n\nexport function BSDsResponseFromJSON(json: any): BSDsResponse {\n    return BSDsResponseFromJSONTyped(json, false);\n}\n\nexport function BSDsResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): BSDsResponse {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'bsds': json['bsds'] == null ? undefined : json['bsds'],\n    };\n}\n\nexport function BSDsResponseToJSON(json: any): BSDsResponse {\n    return BSDsResponseToJSONTyped(json, false);\n}\n\nexport function BSDsResponseToJSONTyped(value?: BSDsResponse | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'bsds': value['bsds'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 BSDsResponse,\n    BSDsResponseFromJSON,\n    BSDsResponseToJSON,\n} from '../models/BSDsResponse';\nimport {\n    type BadRequest,\n    BadRequestFromJSON,\n    BadRequestToJSON,\n} from '../models/BadRequest';\nimport {\n    type Forbidden,\n    ForbiddenFromJSON,\n    ForbiddenToJSON,\n} from '../models/Forbidden';\nimport {\n    type InternalError,\n    InternalErrorFromJSON,\n    InternalErrorToJSON,\n} from '../models/InternalError';\nimport {\n    type TemporarilyUnavailable,\n    TemporarilyUnavailableFromJSON,\n    TemporarilyUnavailableToJSON,\n} from '../models/TemporarilyUnavailable';\n\n/**\n * \n */\nexport class BSDsApi extends runtime.BaseAPI {\n\n    /**\n     * Creates request options for getBSDs without sending the request\n     */\n    async getBSDsRequestOpts(): Promise<runtime.RequestOpts> {\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/bsds`;\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Fetch all Branded Short Domains\n     * Get BSDs\n     */\n    async getBSDsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<BSDsResponse>> {\n        const requestOptions = await this.getBSDsRequestOpts();\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => BSDsResponseFromJSON(jsonValue));\n    }\n\n    /**\n     * Fetch all Branded Short Domains\n     * Get BSDs\n     */\n    async getBSDs(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<BSDsResponse> {\n        const response = await this.getBSDsRaw(initOverrides);\n        return await response.value();\n    }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 * @export\n * @enum {string}\n */\nexport enum MobileOS {\n    ios = 'ios',\n    android = 'android'\n}\n\n\nexport function instanceOfMobileOS(value: any): boolean {\n    for (const key in MobileOS) {\n        if (Object.prototype.hasOwnProperty.call(MobileOS, key)) {\n            if (MobileOS[key as keyof typeof MobileOS] === value) {\n                return true;\n            }\n        }\n    }\n    return false;\n}\n\nexport function MobileOSFromJSON(json: any): MobileOS {\n    return MobileOSFromJSONTyped(json, false);\n}\n\nexport function MobileOSFromJSONTyped(json: any, ignoreDiscriminator: boolean): MobileOS {\n    return json as MobileOS;\n}\n\nexport function MobileOSToJSON(value?: MobileOS | null): any {\n    return value as any;\n}\n\nexport function MobileOSToJSONTyped(value: any, ignoreDiscriminator: boolean): MobileOS {\n    return value as MobileOS;\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 * @export\n * @enum {string}\n */\nexport enum InstallPreference {\n    no_install = 'no_install',\n    auto_install = 'auto_install',\n    promote_install = 'promote_install'\n}\n\n\nexport function instanceOfInstallPreference(value: any): boolean {\n    for (const key in InstallPreference) {\n        if (Object.prototype.hasOwnProperty.call(InstallPreference, key)) {\n            if (InstallPreference[key as keyof typeof InstallPreference] === value) {\n                return true;\n            }\n        }\n    }\n    return false;\n}\n\nexport function InstallPreferenceFromJSON(json: any): InstallPreference {\n    return InstallPreferenceFromJSONTyped(json, false);\n}\n\nexport function InstallPreferenceFromJSONTyped(json: any, ignoreDiscriminator: boolean): InstallPreference {\n    return json as InstallPreference;\n}\n\nexport function InstallPreferenceToJSON(value?: InstallPreference | null): any {\n    return value as any;\n}\n\nexport function InstallPreferenceToJSONTyped(value: any, ignoreDiscriminator: boolean): InstallPreference {\n    return value as InstallPreference;\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { MobileOS } from './MobileOS';\nimport {\n    MobileOSFromJSON,\n    MobileOSFromJSONTyped,\n    MobileOSToJSON,\n    MobileOSToJSONTyped,\n} from './MobileOS';\nimport type { InstallPreference } from './InstallPreference';\nimport {\n    InstallPreferenceFromJSON,\n    InstallPreferenceFromJSONTyped,\n    InstallPreferenceToJSON,\n    InstallPreferenceToJSONTyped,\n} from './InstallPreference';\n\n/**\n * \n * @export\n * @interface DeeplinkRule\n */\nexport interface DeeplinkRule {\n    /**\n     * \n     * @type {string}\n     * @memberof DeeplinkRule\n     */\n    guid?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof DeeplinkRule\n     */\n    bitlink?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof DeeplinkRule\n     */\n    app_uri_path?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof DeeplinkRule\n     */\n    install_url?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof DeeplinkRule\n     */\n    app_guid?: string;\n    /**\n     * \n     * @type {MobileOS}\n     * @memberof DeeplinkRule\n     */\n    os?: MobileOS;\n    /**\n     * \n     * @type {InstallPreference}\n     * @memberof DeeplinkRule\n     */\n    install_type?: InstallPreference;\n    /**\n     * ISO timestamp\n     * @type {string}\n     * @memberof DeeplinkRule\n     */\n    created?: string;\n    /**\n     * ISO timestamp\n     * @type {string}\n     * @memberof DeeplinkRule\n     */\n    modified?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof DeeplinkRule\n     */\n    brand_guid?: string;\n}\n\n\n\n/**\n * Check if a given object implements the DeeplinkRule interface.\n */\nexport function instanceOfDeeplinkRule(value: object): value is DeeplinkRule {\n    return true;\n}\n\nexport function DeeplinkRuleFromJSON(json: any): DeeplinkRule {\n    return DeeplinkRuleFromJSONTyped(json, false);\n}\n\nexport function DeeplinkRuleFromJSONTyped(json: any, ignoreDiscriminator: boolean): DeeplinkRule {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'guid': json['guid'] == null ? undefined : json['guid'],\n        'bitlink': json['bitlink'] == null ? undefined : json['bitlink'],\n        'app_uri_path': json['app_uri_path'] == null ? undefined : json['app_uri_path'],\n        'install_url': json['install_url'] == null ? undefined : json['install_url'],\n        'app_guid': json['app_guid'] == null ? undefined : json['app_guid'],\n        'os': json['os'] == null ? undefined : MobileOSFromJSON(json['os']),\n        'install_type': json['install_type'] == null ? undefined : InstallPreferenceFromJSON(json['install_type']),\n        'created': json['created'] == null ? undefined : json['created'],\n        'modified': json['modified'] == null ? undefined : json['modified'],\n        'brand_guid': json['brand_guid'] == null ? undefined : json['brand_guid'],\n    };\n}\n\nexport function DeeplinkRuleToJSON(json: any): DeeplinkRule {\n    return DeeplinkRuleToJSONTyped(json, false);\n}\n\nexport function DeeplinkRuleToJSONTyped(value?: DeeplinkRule | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'guid': value['guid'],\n        'bitlink': value['bitlink'],\n        'app_uri_path': value['app_uri_path'],\n        'install_url': value['install_url'],\n        'app_guid': value['app_guid'],\n        'os': MobileOSToJSON(value['os']),\n        'install_type': InstallPreferenceToJSON(value['install_type']),\n        'created': value['created'],\n        'modified': value['modified'],\n        'brand_guid': value['brand_guid'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { DeeplinkRule } from './DeeplinkRule';\nimport {\n    DeeplinkRuleFromJSON,\n    DeeplinkRuleFromJSONTyped,\n    DeeplinkRuleToJSON,\n    DeeplinkRuleToJSONTyped,\n} from './DeeplinkRule';\n\n/**\n * \n * @export\n * @interface BitlinkBody\n */\nexport interface BitlinkBody {\n    /**\n     * \n     * @type {{ [key: string]: string; }}\n     * @memberof BitlinkBody\n     */\n    references?: { [key: string]: string; };\n    /**\n     * \n     * @type {string}\n     * @memberof BitlinkBody\n     */\n    link?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof BitlinkBody\n     */\n    id?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof BitlinkBody\n     */\n    long_url?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof BitlinkBody\n     */\n    title?: string;\n    /**\n     * \n     * @type {boolean}\n     * @memberof BitlinkBody\n     */\n    archived?: boolean;\n    /**\n     * \n     * @type {string}\n     * @memberof BitlinkBody\n     */\n    created_at?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof BitlinkBody\n     */\n    created_by?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof BitlinkBody\n     */\n    client_id?: string;\n    /**\n     * list of previously edited backhalfs for the bitlink - these are in reverse chronological order, with the most recently edited backhalf first\n     * @type {Array<string>}\n     * @memberof BitlinkBody\n     */\n    custom_bitlinks?: Array<string>;\n    /**\n     * \n     * @type {Array<string>}\n     * @memberof BitlinkBody\n     */\n    tags?: Array<string>;\n    /**\n     * \n     * @type {Array<string>}\n     * @memberof BitlinkBody\n     */\n    launchpad_ids?: Array<string>;\n    /**\n     * a list of qr code ids that are associated with this bitlink\n     * @type {Array<string>}\n     * @memberof BitlinkBody\n     */\n    qr_code_ids?: Array<string>;\n    /**\n     * \n     * @type {Array<DeeplinkRule>}\n     * @memberof BitlinkBody\n     */\n    deeplinks?: Array<DeeplinkRule>;\n    /**\n     * \n     * @type {boolean}\n     * @memberof BitlinkBody\n     */\n    is_deleted?: boolean;\n    /**\n     * \n     * @type {Array<string>}\n     * @memberof BitlinkBody\n     */\n    campaign_ids?: Array<string>;\n    /**\n     * Optional expiration timestamp for the bitlink (e.g., 2025-01-28T14:30:00+0000)\n     * @type {string}\n     * @memberof BitlinkBody\n     */\n    expiration_at?: string;\n}\n\n/**\n * Check if a given object implements the BitlinkBody interface.\n */\nexport function instanceOfBitlinkBody(value: object): value is BitlinkBody {\n    return true;\n}\n\nexport function BitlinkBodyFromJSON(json: any): BitlinkBody {\n    return BitlinkBodyFromJSONTyped(json, false);\n}\n\nexport function BitlinkBodyFromJSONTyped(json: any, ignoreDiscriminator: boolean): BitlinkBody {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'references': json['references'] == null ? undefined : json['references'],\n        'link': json['link'] == null ? undefined : json['link'],\n        'id': json['id'] == null ? undefined : json['id'],\n        'long_url': json['long_url'] == null ? undefined : json['long_url'],\n        'title': json['title'] == null ? undefined : json['title'],\n        'archived': json['archived'] == null ? undefined : json['archived'],\n        'created_at': json['created_at'] == null ? undefined : json['created_at'],\n        'created_by': json['created_by'] == null ? undefined : json['created_by'],\n        'client_id': json['client_id'] == null ? undefined : json['client_id'],\n        'custom_bitlinks': json['custom_bitlinks'] == null ? undefined : json['custom_bitlinks'],\n        'tags': json['tags'] == null ? undefined : json['tags'],\n        'launchpad_ids': json['launchpad_ids'] == null ? undefined : json['launchpad_ids'],\n        'qr_code_ids': json['qr_code_ids'] == null ? undefined : json['qr_code_ids'],\n        'deeplinks': json['deeplinks'] == null ? undefined : ((json['deeplinks'] as Array<any>).map(DeeplinkRuleFromJSON)),\n        'is_deleted': json['is_deleted'] == null ? undefined : json['is_deleted'],\n        'campaign_ids': json['campaign_ids'] == null ? undefined : json['campaign_ids'],\n        'expiration_at': json['expiration_at'] == null ? undefined : json['expiration_at'],\n    };\n}\n\nexport function BitlinkBodyToJSON(json: any): BitlinkBody {\n    return BitlinkBodyToJSONTyped(json, false);\n}\n\nexport function BitlinkBodyToJSONTyped(value?: BitlinkBody | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'references': value['references'],\n        'link': value['link'],\n        'id': value['id'],\n        'long_url': value['long_url'],\n        'title': value['title'],\n        'archived': value['archived'],\n        'created_at': value['created_at'],\n        'created_by': value['created_by'],\n        'client_id': value['client_id'],\n        'custom_bitlinks': value['custom_bitlinks'],\n        'tags': value['tags'],\n        'launchpad_ids': value['launchpad_ids'],\n        'qr_code_ids': value['qr_code_ids'],\n        'deeplinks': value['deeplinks'] == null ? undefined : ((value['deeplinks'] as Array<any>).map(DeeplinkRuleToJSON)),\n        'is_deleted': value['is_deleted'],\n        'campaign_ids': value['campaign_ids'],\n        'expiration_at': value['expiration_at'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { DeeplinkRule } from './DeeplinkRule';\nimport {\n    DeeplinkRuleFromJSON,\n    DeeplinkRuleFromJSONTyped,\n    DeeplinkRuleToJSON,\n    DeeplinkRuleToJSONTyped,\n} from './DeeplinkRule';\n\n/**\n * \n * @export\n * @interface BitlinkUpdateBody\n */\nexport interface BitlinkUpdateBody {\n    /**\n     * \n     * @type {string}\n     * @memberof BitlinkUpdateBody\n     */\n    title?: string;\n    /**\n     * \n     * @type {boolean}\n     * @memberof BitlinkUpdateBody\n     */\n    archived?: boolean;\n    /**\n     * \n     * @type {Array<string>}\n     * @memberof BitlinkUpdateBody\n     */\n    tags?: Array<string>;\n    /**\n     * \n     * @type {Array<DeeplinkRule>}\n     * @memberof BitlinkUpdateBody\n     */\n    deeplinks?: Array<DeeplinkRule>;\n    /**\n     * \n     * @type {string}\n     * @memberof BitlinkUpdateBody\n     */\n    long_url?: string;\n    /**\n     * Optional expiration timestamp for the bitlink (e.g., 2025-01-28T14:30:00+0000). Minimum expiration time is 5 minutes from now and maximum is 1 year.\n     * @type {string}\n     * @memberof BitlinkUpdateBody\n     */\n    expiration_at?: string;\n}\n\n/**\n * Check if a given object implements the BitlinkUpdateBody interface.\n */\nexport function instanceOfBitlinkUpdateBody(value: object): value is BitlinkUpdateBody {\n    return true;\n}\n\nexport function BitlinkUpdateBodyFromJSON(json: any): BitlinkUpdateBody {\n    return BitlinkUpdateBodyFromJSONTyped(json, false);\n}\n\nexport function BitlinkUpdateBodyFromJSONTyped(json: any, ignoreDiscriminator: boolean): BitlinkUpdateBody {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'title': json['title'] == null ? undefined : json['title'],\n        'archived': json['archived'] == null ? undefined : json['archived'],\n        'tags': json['tags'] == null ? undefined : json['tags'],\n        'deeplinks': json['deeplinks'] == null ? undefined : ((json['deeplinks'] as Array<any>).map(DeeplinkRuleFromJSON)),\n        'long_url': json['long_url'] == null ? undefined : json['long_url'],\n        'expiration_at': json['expiration_at'] == null ? undefined : json['expiration_at'],\n    };\n}\n\nexport function BitlinkUpdateBodyToJSON(json: any): BitlinkUpdateBody {\n    return BitlinkUpdateBodyToJSONTyped(json, false);\n}\n\nexport function BitlinkUpdateBodyToJSONTyped(value?: BitlinkUpdateBody | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'title': value['title'],\n        'archived': value['archived'],\n        'tags': value['tags'],\n        'deeplinks': value['deeplinks'] == null ? undefined : ((value['deeplinks'] as Array<any>).map(DeeplinkRuleToJSON)),\n        'long_url': value['long_url'],\n        'expiration_at': value['expiration_at'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 BitlinksPagination\n */\nexport interface BitlinksPagination {\n    /**\n     * \n     * @type {string}\n     * @memberof BitlinksPagination\n     */\n    next?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof BitlinksPagination\n     */\n    search_after?: string;\n    /**\n     * \n     * @type {number}\n     * @memberof BitlinksPagination\n     */\n    size?: number;\n}\n\n/**\n * Check if a given object implements the BitlinksPagination interface.\n */\nexport function instanceOfBitlinksPagination(value: object): value is BitlinksPagination {\n    return true;\n}\n\nexport function BitlinksPaginationFromJSON(json: any): BitlinksPagination {\n    return BitlinksPaginationFromJSONTyped(json, false);\n}\n\nexport function BitlinksPaginationFromJSONTyped(json: any, ignoreDiscriminator: boolean): BitlinksPagination {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'next': json['next'] == null ? undefined : json['next'],\n        'search_after': json['search_after'] == null ? undefined : json['search_after'],\n        'size': json['size'] == null ? undefined : json['size'],\n    };\n}\n\nexport function BitlinksPaginationToJSON(json: any): BitlinksPagination {\n    return BitlinksPaginationToJSONTyped(json, false);\n}\n\nexport function BitlinksPaginationToJSONTyped(value?: BitlinksPagination | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'next': value['next'],\n        'search_after': value['search_after'],\n        'size': value['size'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { BitlinkBody } from './BitlinkBody';\nimport {\n    BitlinkBodyFromJSON,\n    BitlinkBodyFromJSONTyped,\n    BitlinkBodyToJSON,\n    BitlinkBodyToJSONTyped,\n} from './BitlinkBody';\nimport type { BitlinksPagination } from './BitlinksPagination';\nimport {\n    BitlinksPaginationFromJSON,\n    BitlinksPaginationFromJSONTyped,\n    BitlinksPaginationToJSON,\n    BitlinksPaginationToJSONTyped,\n} from './BitlinksPagination';\n\n/**\n * \n * @export\n * @interface Bitlinks\n */\nexport interface Bitlinks {\n    /**\n     * \n     * @type {Array<BitlinkBody>}\n     * @memberof Bitlinks\n     */\n    links?: Array<BitlinkBody>;\n    /**\n     * \n     * @type {BitlinksPagination}\n     * @memberof Bitlinks\n     */\n    pagination?: BitlinksPagination;\n}\n\n/**\n * Check if a given object implements the Bitlinks interface.\n */\nexport function instanceOfBitlinks(value: object): value is Bitlinks {\n    return true;\n}\n\nexport function BitlinksFromJSON(json: any): Bitlinks {\n    return BitlinksFromJSONTyped(json, false);\n}\n\nexport function BitlinksFromJSONTyped(json: any, ignoreDiscriminator: boolean): Bitlinks {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'links': json['links'] == null ? undefined : ((json['links'] as Array<any>).map(BitlinkBodyFromJSON)),\n        'pagination': json['pagination'] == null ? undefined : BitlinksPaginationFromJSON(json['pagination']),\n    };\n}\n\nexport function BitlinksToJSON(json: any): Bitlinks {\n    return BitlinksToJSONTyped(json, false);\n}\n\nexport function BitlinksToJSONTyped(value?: Bitlinks | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'links': value['links'] == null ? undefined : ((value['links'] as Array<any>).map(BitlinkBodyToJSON)),\n        'pagination': BitlinksPaginationToJSON(value['pagination']),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 BulkUpdate\n */\nexport interface BulkUpdate {\n    /**\n     * \n     * @type {Array<string>}\n     * @memberof BulkUpdate\n     */\n    links?: Array<string>;\n}\n\n/**\n * Check if a given object implements the BulkUpdate interface.\n */\nexport function instanceOfBulkUpdate(value: object): value is BulkUpdate {\n    return true;\n}\n\nexport function BulkUpdateFromJSON(json: any): BulkUpdate {\n    return BulkUpdateFromJSONTyped(json, false);\n}\n\nexport function BulkUpdateFromJSONTyped(json: any, ignoreDiscriminator: boolean): BulkUpdate {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'links': json['links'] == null ? undefined : json['links'],\n    };\n}\n\nexport function BulkUpdateToJSON(json: any): BulkUpdate {\n    return BulkUpdateToJSONTyped(json, false);\n}\n\nexport function BulkUpdateToJSONTyped(value?: BulkUpdate | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'links': value['links'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 BulkUpdateRequest\n */\nexport interface BulkUpdateRequest {\n    /**\n     * archive or edit_tags\n     * @type {BulkUpdateRequestActionEnum}\n     * @memberof BulkUpdateRequest\n     */\n    action: BulkUpdateRequestActionEnum;\n    /**\n     * \n     * @type {boolean}\n     * @memberof BulkUpdateRequest\n     */\n    archive?: boolean;\n    /**\n     * \n     * @type {Array<string>}\n     * @memberof BulkUpdateRequest\n     */\n    add_tags?: Array<string>;\n    /**\n     * \n     * @type {Array<string>}\n     * @memberof BulkUpdateRequest\n     */\n    remove_tags?: Array<string>;\n    /**\n     * this is limited to 100 bitlink ids\n     * @type {Array<string>}\n     * @memberof BulkUpdateRequest\n     */\n    links?: Array<string>;\n}\n\n/**\n* @export\n* @enum {string}\n*/\nexport enum BulkUpdateRequestActionEnum {\n    archive = 'archive',\n    edit_tags = 'edit_tags'\n}\n\n\n/**\n * Check if a given object implements the BulkUpdateRequest interface.\n */\nexport function instanceOfBulkUpdateRequest(value: object): value is BulkUpdateRequest {\n    if (!('action' in value) || value['action'] === undefined) return false;\n    return true;\n}\n\nexport function BulkUpdateRequestFromJSON(json: any): BulkUpdateRequest {\n    return BulkUpdateRequestFromJSONTyped(json, false);\n}\n\nexport function BulkUpdateRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): BulkUpdateRequest {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'action': json['action'],\n        'archive': json['archive'] == null ? undefined : json['archive'],\n        'add_tags': json['add_tags'] == null ? undefined : json['add_tags'],\n        'remove_tags': json['remove_tags'] == null ? undefined : json['remove_tags'],\n        'links': json['links'] == null ? undefined : json['links'],\n    };\n}\n\nexport function BulkUpdateRequestToJSON(json: any): BulkUpdateRequest {\n    return BulkUpdateRequestToJSONTyped(json, false);\n}\n\nexport function BulkUpdateRequestToJSONTyped(value?: BulkUpdateRequest | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'action': value['action'],\n        'archive': value['archive'],\n        'add_tags': value['add_tags'],\n        'remove_tags': value['remove_tags'],\n        'links': value['links'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 OtherMetrics\n */\nexport interface OtherMetrics {\n    /**\n     * \n     * @type {number}\n     * @memberof OtherMetrics\n     */\n    other_city_clicks?: number;\n    /**\n     * \n     * @type {number}\n     * @memberof OtherMetrics\n     */\n    no_city_clicks?: number;\n}\n\n/**\n * Check if a given object implements the OtherMetrics interface.\n */\nexport function instanceOfOtherMetrics(value: object): value is OtherMetrics {\n    return true;\n}\n\nexport function OtherMetricsFromJSON(json: any): OtherMetrics {\n    return OtherMetricsFromJSONTyped(json, false);\n}\n\nexport function OtherMetricsFromJSONTyped(json: any, ignoreDiscriminator: boolean): OtherMetrics {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'other_city_clicks': json['other_city_clicks'] == null ? undefined : json['other_city_clicks'],\n        'no_city_clicks': json['no_city_clicks'] == null ? undefined : json['no_city_clicks'],\n    };\n}\n\nexport function OtherMetricsToJSON(json: any): OtherMetrics {\n    return OtherMetricsToJSONTyped(json, false);\n}\n\nexport function OtherMetricsToJSONTyped(value?: OtherMetrics | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'other_city_clicks': value['other_city_clicks'],\n        'no_city_clicks': value['no_city_clicks'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 CityMetric\n */\nexport interface CityMetric {\n    /**\n     * \n     * @type {number}\n     * @memberof CityMetric\n     */\n    clicks?: number;\n    /**\n     * \n     * @type {string}\n     * @memberof CityMetric\n     */\n    city?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof CityMetric\n     */\n    subregion?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof CityMetric\n     */\n    region?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof CityMetric\n     */\n    country?: string;\n}\n\n/**\n * Check if a given object implements the CityMetric interface.\n */\nexport function instanceOfCityMetric(value: object): value is CityMetric {\n    return true;\n}\n\nexport function CityMetricFromJSON(json: any): CityMetric {\n    return CityMetricFromJSONTyped(json, false);\n}\n\nexport function CityMetricFromJSONTyped(json: any, ignoreDiscriminator: boolean): CityMetric {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'clicks': json['clicks'] == null ? undefined : json['clicks'],\n        'city': json['city'] == null ? undefined : json['city'],\n        'subregion': json['subregion'] == null ? undefined : json['subregion'],\n        'region': json['region'] == null ? undefined : json['region'],\n        'country': json['country'] == null ? undefined : json['country'],\n    };\n}\n\nexport function CityMetricToJSON(json: any): CityMetric {\n    return CityMetricToJSONTyped(json, false);\n}\n\nexport function CityMetricToJSONTyped(value?: CityMetric | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'clicks': value['clicks'],\n        'city': value['city'],\n        'subregion': value['subregion'],\n        'region': value['region'],\n        'country': value['country'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { OtherMetrics } from './OtherMetrics';\nimport {\n    OtherMetricsFromJSON,\n    OtherMetricsFromJSONTyped,\n    OtherMetricsToJSON,\n    OtherMetricsToJSONTyped,\n} from './OtherMetrics';\nimport type { CityMetric } from './CityMetric';\nimport {\n    CityMetricFromJSON,\n    CityMetricFromJSONTyped,\n    CityMetricToJSON,\n    CityMetricToJSONTyped,\n} from './CityMetric';\n\n/**\n * \n * @export\n * @interface CityMetrics\n */\nexport interface CityMetrics {\n    /**\n     * \n     * @type {string}\n     * @memberof CityMetrics\n     */\n    unit?: string;\n    /**\n     * \n     * @type {number}\n     * @memberof CityMetrics\n     */\n    units?: number;\n    /**\n     * \n     * @type {CityMetricsFacetEnum}\n     * @memberof CityMetrics\n     */\n    facet?: CityMetricsFacetEnum;\n    /**\n     * \n     * @type {string}\n     * @memberof CityMetrics\n     */\n    unit_reference?: string;\n    /**\n     * \n     * @type {Array<CityMetric>}\n     * @memberof CityMetrics\n     */\n    metrics?: Array<CityMetric>;\n    /**\n     * \n     * @type {OtherMetrics}\n     * @memberof CityMetrics\n     */\n    other_metrics?: OtherMetrics;\n}\n\n/**\n* @export\n* @enum {string}\n*/\nexport enum CityMetricsFacetEnum {\n    countries = 'countries',\n    cities = 'cities',\n    devices = 'devices',\n    referrers = 'referrers',\n    referrers_by_domain = 'referrers_by_domain',\n    referring_domains = 'referring_domains',\n    referring_networks = 'referring_networks',\n    shorten_counts = 'shorten_counts',\n    destinations = 'destinations'\n}\n\n\n/**\n * Check if a given object implements the CityMetrics interface.\n */\nexport function instanceOfCityMetrics(value: object): value is CityMetrics {\n    return true;\n}\n\nexport function CityMetricsFromJSON(json: any): CityMetrics {\n    return CityMetricsFromJSONTyped(json, false);\n}\n\nexport function CityMetricsFromJSONTyped(json: any, ignoreDiscriminator: boolean): CityMetrics {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'unit': json['unit'] == null ? undefined : json['unit'],\n        'units': json['units'] == null ? undefined : json['units'],\n        'facet': json['facet'] == null ? undefined : json['facet'],\n        'unit_reference': json['unit_reference'] == null ? undefined : json['unit_reference'],\n        'metrics': json['metrics'] == null ? undefined : ((json['metrics'] as Array<any>).map(CityMetricFromJSON)),\n        'other_metrics': json['other_metrics'] == null ? undefined : OtherMetricsFromJSON(json['other_metrics']),\n    };\n}\n\nexport function CityMetricsToJSON(json: any): CityMetrics {\n    return CityMetricsToJSONTyped(json, false);\n}\n\nexport function CityMetricsToJSONTyped(value?: CityMetrics | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'unit': value['unit'],\n        'units': value['units'],\n        'facet': value['facet'],\n        'unit_reference': value['unit_reference'],\n        'metrics': value['metrics'] == null ? undefined : ((value['metrics'] as Array<any>).map(CityMetricToJSON)),\n        'other_metrics': OtherMetricsToJSON(value['other_metrics']),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 ClickMetric\n */\nexport interface ClickMetric {\n    /**\n     * \n     * @type {number}\n     * @memberof ClickMetric\n     */\n    clicks?: number;\n    /**\n     * \n     * @type {string}\n     * @memberof ClickMetric\n     */\n    value?: string;\n}\n\n/**\n * Check if a given object implements the ClickMetric interface.\n */\nexport function instanceOfClickMetric(value: object): value is ClickMetric {\n    return true;\n}\n\nexport function ClickMetricFromJSON(json: any): ClickMetric {\n    return ClickMetricFromJSONTyped(json, false);\n}\n\nexport function ClickMetricFromJSONTyped(json: any, ignoreDiscriminator: boolean): ClickMetric {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'clicks': json['clicks'] == null ? undefined : json['clicks'],\n        'value': json['value'] == null ? undefined : json['value'],\n    };\n}\n\nexport function ClickMetricToJSON(json: any): ClickMetric {\n    return ClickMetricToJSONTyped(json, false);\n}\n\nexport function ClickMetricToJSONTyped(value?: ClickMetric | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'clicks': value['clicks'],\n        'value': value['value'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { ClickMetric } from './ClickMetric';\nimport {\n    ClickMetricFromJSON,\n    ClickMetricFromJSONTyped,\n    ClickMetricToJSON,\n    ClickMetricToJSONTyped,\n} from './ClickMetric';\n\n/**\n * \n * @export\n * @interface ClickMetrics\n */\nexport interface ClickMetrics {\n    /**\n     * \n     * @type {string}\n     * @memberof ClickMetrics\n     */\n    unit?: string;\n    /**\n     * \n     * @type {number}\n     * @memberof ClickMetrics\n     */\n    units?: number;\n    /**\n     * \n     * @type {ClickMetricsFacetEnum}\n     * @memberof ClickMetrics\n     */\n    facet?: ClickMetricsFacetEnum;\n    /**\n     * \n     * @type {string}\n     * @memberof ClickMetrics\n     */\n    unit_reference?: string;\n    /**\n     * \n     * @type {Array<ClickMetric>}\n     * @memberof ClickMetrics\n     */\n    metrics?: Array<ClickMetric>;\n}\n\n/**\n* @export\n* @enum {string}\n*/\nexport enum ClickMetricsFacetEnum {\n    countries = 'countries',\n    cities = 'cities',\n    devices = 'devices',\n    referrers = 'referrers',\n    referrers_by_domain = 'referrers_by_domain',\n    referring_domains = 'referring_domains',\n    referring_networks = 'referring_networks',\n    shorten_counts = 'shorten_counts',\n    destinations = 'destinations'\n}\n\n\n/**\n * Check if a given object implements the ClickMetrics interface.\n */\nexport function instanceOfClickMetrics(value: object): value is ClickMetrics {\n    return true;\n}\n\nexport function ClickMetricsFromJSON(json: any): ClickMetrics {\n    return ClickMetricsFromJSONTyped(json, false);\n}\n\nexport function ClickMetricsFromJSONTyped(json: any, ignoreDiscriminator: boolean): ClickMetrics {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'unit': json['unit'] == null ? undefined : json['unit'],\n        'units': json['units'] == null ? undefined : json['units'],\n        'facet': json['facet'] == null ? undefined : json['facet'],\n        'unit_reference': json['unit_reference'] == null ? undefined : json['unit_reference'],\n        'metrics': json['metrics'] == null ? undefined : ((json['metrics'] as Array<any>).map(ClickMetricFromJSON)),\n    };\n}\n\nexport function ClickMetricsToJSON(json: any): ClickMetrics {\n    return ClickMetricsToJSONTyped(json, false);\n}\n\nexport function ClickMetricsToJSONTyped(value?: ClickMetrics | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'unit': value['unit'],\n        'units': value['units'],\n        'facet': value['facet'],\n        'unit_reference': value['unit_reference'],\n        'metrics': value['metrics'] == null ? undefined : ((value['metrics'] as Array<any>).map(ClickMetricToJSON)),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 LinkClicks\n */\nexport interface LinkClicks {\n    /**\n     * \n     * @type {number}\n     * @memberof LinkClicks\n     */\n    clicks?: number;\n    /**\n     * \n     * @type {string}\n     * @memberof LinkClicks\n     */\n    date?: string;\n}\n\n/**\n * Check if a given object implements the LinkClicks interface.\n */\nexport function instanceOfLinkClicks(value: object): value is LinkClicks {\n    return true;\n}\n\nexport function LinkClicksFromJSON(json: any): LinkClicks {\n    return LinkClicksFromJSONTyped(json, false);\n}\n\nexport function LinkClicksFromJSONTyped(json: any, ignoreDiscriminator: boolean): LinkClicks {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'clicks': json['clicks'] == null ? undefined : json['clicks'],\n        'date': json['date'] == null ? undefined : json['date'],\n    };\n}\n\nexport function LinkClicksToJSON(json: any): LinkClicks {\n    return LinkClicksToJSONTyped(json, false);\n}\n\nexport function LinkClicksToJSONTyped(value?: LinkClicks | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'clicks': value['clicks'],\n        'date': value['date'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { LinkClicks } from './LinkClicks';\nimport {\n    LinkClicksFromJSON,\n    LinkClicksFromJSONTyped,\n    LinkClicksToJSON,\n    LinkClicksToJSONTyped,\n} from './LinkClicks';\n\n/**\n * \n * @export\n * @interface Clicks\n */\nexport interface Clicks {\n    /**\n     * \n     * @type {Array<LinkClicks>}\n     * @memberof Clicks\n     */\n    link_clicks?: Array<LinkClicks>;\n    /**\n     * \n     * @type {number}\n     * @memberof Clicks\n     */\n    units?: number;\n    /**\n     * \n     * @type {ClicksUnitEnum}\n     * @memberof Clicks\n     */\n    unit?: ClicksUnitEnum;\n    /**\n     * \n     * @type {string}\n     * @memberof Clicks\n     */\n    unit_reference?: string;\n}\n\n/**\n* @export\n* @enum {string}\n*/\nexport enum ClicksUnitEnum {\n    minute = 'minute',\n    hour = 'hour',\n    day = 'day',\n    week = 'week',\n    month = 'month'\n}\n\n\n/**\n * Check if a given object implements the Clicks interface.\n */\nexport function instanceOfClicks(value: object): value is Clicks {\n    return true;\n}\n\nexport function ClicksFromJSON(json: any): Clicks {\n    return ClicksFromJSONTyped(json, false);\n}\n\nexport function ClicksFromJSONTyped(json: any, ignoreDiscriminator: boolean): Clicks {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'link_clicks': json['link_clicks'] == null ? undefined : ((json['link_clicks'] as Array<any>).map(LinkClicksFromJSON)),\n        'units': json['units'] == null ? undefined : json['units'],\n        'unit': json['unit'] == null ? undefined : json['unit'],\n        'unit_reference': json['unit_reference'] == null ? undefined : json['unit_reference'],\n    };\n}\n\nexport function ClicksToJSON(json: any): Clicks {\n    return ClicksToJSONTyped(json, false);\n}\n\nexport function ClicksToJSONTyped(value?: Clicks | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'link_clicks': value['link_clicks'] == null ? undefined : ((value['link_clicks'] as Array<any>).map(LinkClicksToJSON)),\n        'units': value['units'],\n        'unit': value['unit'],\n        'unit_reference': value['unit_reference'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 ClicksSummary\n */\nexport interface ClicksSummary {\n    /**\n     * \n     * @type {number}\n     * @memberof ClicksSummary\n     */\n    total_clicks?: number;\n    /**\n     * \n     * @type {number}\n     * @memberof ClicksSummary\n     */\n    units?: number;\n    /**\n     * \n     * @type {ClicksSummaryUnitEnum}\n     * @memberof ClicksSummary\n     */\n    unit?: ClicksSummaryUnitEnum;\n    /**\n     * \n     * @type {string}\n     * @memberof ClicksSummary\n     */\n    unit_reference?: string;\n}\n\n/**\n* @export\n* @enum {string}\n*/\nexport enum ClicksSummaryUnitEnum {\n    minute = 'minute',\n    hour = 'hour',\n    day = 'day',\n    week = 'week',\n    month = 'month'\n}\n\n\n/**\n * Check if a given object implements the ClicksSummary interface.\n */\nexport function instanceOfClicksSummary(value: object): value is ClicksSummary {\n    return true;\n}\n\nexport function ClicksSummaryFromJSON(json: any): ClicksSummary {\n    return ClicksSummaryFromJSONTyped(json, false);\n}\n\nexport function ClicksSummaryFromJSONTyped(json: any, ignoreDiscriminator: boolean): ClicksSummary {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'total_clicks': json['total_clicks'] == null ? undefined : json['total_clicks'],\n        'units': json['units'] == null ? undefined : json['units'],\n        'unit': json['unit'] == null ? undefined : json['unit'],\n        'unit_reference': json['unit_reference'] == null ? undefined : json['unit_reference'],\n    };\n}\n\nexport function ClicksSummaryToJSON(json: any): ClicksSummary {\n    return ClicksSummaryToJSONTyped(json, false);\n}\n\nexport function ClicksSummaryToJSONTyped(value?: ClicksSummary | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'total_clicks': value['total_clicks'],\n        'units': value['units'],\n        'unit': value['unit'],\n        'unit_reference': value['unit_reference'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 DeviceMetric\n */\nexport interface DeviceMetric {\n    /**\n     * \n     * @type {number}\n     * @memberof DeviceMetric\n     */\n    clicks?: number;\n    /**\n     * \n     * @type {string}\n     * @memberof DeviceMetric\n     */\n    device_type?: string;\n}\n\n/**\n * Check if a given object implements the DeviceMetric interface.\n */\nexport function instanceOfDeviceMetric(value: object): value is DeviceMetric {\n    return true;\n}\n\nexport function DeviceMetricFromJSON(json: any): DeviceMetric {\n    return DeviceMetricFromJSONTyped(json, false);\n}\n\nexport function DeviceMetricFromJSONTyped(json: any, ignoreDiscriminator: boolean): DeviceMetric {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'clicks': json['clicks'] == null ? undefined : json['clicks'],\n        'device_type': json['device_type'] == null ? undefined : json['device_type'],\n    };\n}\n\nexport function DeviceMetricToJSON(json: any): DeviceMetric {\n    return DeviceMetricToJSONTyped(json, false);\n}\n\nexport function DeviceMetricToJSONTyped(value?: DeviceMetric | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'clicks': value['clicks'],\n        'device_type': value['device_type'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { DeviceMetric } from './DeviceMetric';\nimport {\n    DeviceMetricFromJSON,\n    DeviceMetricFromJSONTyped,\n    DeviceMetricToJSON,\n    DeviceMetricToJSONTyped,\n} from './DeviceMetric';\n\n/**\n * \n * @export\n * @interface DeviceMetrics\n */\nexport interface DeviceMetrics {\n    /**\n     * \n     * @type {string}\n     * @memberof DeviceMetrics\n     */\n    unit?: string;\n    /**\n     * \n     * @type {number}\n     * @memberof DeviceMetrics\n     */\n    units?: number;\n    /**\n     * \n     * @type {DeviceMetricsFacetEnum}\n     * @memberof DeviceMetrics\n     */\n    facet?: DeviceMetricsFacetEnum;\n    /**\n     * \n     * @type {string}\n     * @memberof DeviceMetrics\n     */\n    unit_reference?: string;\n    /**\n     * \n     * @type {Array<DeviceMetric>}\n     * @memberof DeviceMetrics\n     */\n    metrics?: Array<DeviceMetric>;\n}\n\n/**\n* @export\n* @enum {string}\n*/\nexport enum DeviceMetricsFacetEnum {\n    countries = 'countries',\n    cities = 'cities',\n    devices = 'devices',\n    referrers = 'referrers',\n    referrers_by_domain = 'referrers_by_domain',\n    referring_domains = 'referring_domains',\n    referring_networks = 'referring_networks',\n    shorten_counts = 'shorten_counts',\n    destinations = 'destinations'\n}\n\n\n/**\n * Check if a given object implements the DeviceMetrics interface.\n */\nexport function instanceOfDeviceMetrics(value: object): value is DeviceMetrics {\n    return true;\n}\n\nexport function DeviceMetricsFromJSON(json: any): DeviceMetrics {\n    return DeviceMetricsFromJSONTyped(json, false);\n}\n\nexport function DeviceMetricsFromJSONTyped(json: any, ignoreDiscriminator: boolean): DeviceMetrics {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'unit': json['unit'] == null ? undefined : json['unit'],\n        'units': json['units'] == null ? undefined : json['units'],\n        'facet': json['facet'] == null ? undefined : json['facet'],\n        'unit_reference': json['unit_reference'] == null ? undefined : json['unit_reference'],\n        'metrics': json['metrics'] == null ? undefined : ((json['metrics'] as Array<any>).map(DeviceMetricFromJSON)),\n    };\n}\n\nexport function DeviceMetricsToJSON(json: any): DeviceMetrics {\n    return DeviceMetricsToJSONTyped(json, false);\n}\n\nexport function DeviceMetricsToJSONTyped(value?: DeviceMetrics | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'unit': value['unit'],\n        'units': value['units'],\n        'facet': value['facet'],\n        'unit_reference': value['unit_reference'],\n        'metrics': value['metrics'] == null ? undefined : ((value['metrics'] as Array<any>).map(DeviceMetricToJSON)),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 ExpandBitlink\n */\nexport interface ExpandBitlink {\n    /**\n     * \n     * @type {string}\n     * @memberof ExpandBitlink\n     */\n    bitlink_id?: string;\n}\n\n/**\n * Check if a given object implements the ExpandBitlink interface.\n */\nexport function instanceOfExpandBitlink(value: object): value is ExpandBitlink {\n    return true;\n}\n\nexport function ExpandBitlinkFromJSON(json: any): ExpandBitlink {\n    return ExpandBitlinkFromJSONTyped(json, false);\n}\n\nexport function ExpandBitlinkFromJSONTyped(json: any, ignoreDiscriminator: boolean): ExpandBitlink {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'bitlink_id': json['bitlink_id'] == null ? undefined : json['bitlink_id'],\n    };\n}\n\nexport function ExpandBitlinkToJSON(json: any): ExpandBitlink {\n    return ExpandBitlinkToJSONTyped(json, false);\n}\n\nexport function ExpandBitlinkToJSONTyped(value?: ExpandBitlink | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'bitlink_id': value['bitlink_id'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 ExpandedBitlink\n */\nexport interface ExpandedBitlink {\n    /**\n     * \n     * @type {string}\n     * @memberof ExpandedBitlink\n     */\n    link?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof ExpandedBitlink\n     */\n    id?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof ExpandedBitlink\n     */\n    long_url?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof ExpandedBitlink\n     */\n    created_at?: string;\n}\n\n/**\n * Check if a given object implements the ExpandedBitlink interface.\n */\nexport function instanceOfExpandedBitlink(value: object): value is ExpandedBitlink {\n    return true;\n}\n\nexport function ExpandedBitlinkFromJSON(json: any): ExpandedBitlink {\n    return ExpandedBitlinkFromJSONTyped(json, false);\n}\n\nexport function ExpandedBitlinkFromJSONTyped(json: any, ignoreDiscriminator: boolean): ExpandedBitlink {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'link': json['link'] == null ? undefined : json['link'],\n        'id': json['id'] == null ? undefined : json['id'],\n        'long_url': json['long_url'] == null ? undefined : json['long_url'],\n        'created_at': json['created_at'] == null ? undefined : json['created_at'],\n    };\n}\n\nexport function ExpandedBitlinkToJSON(json: any): ExpandedBitlink {\n    return ExpandedBitlinkToJSONTyped(json, false);\n}\n\nexport function ExpandedBitlinkToJSONTyped(value?: ExpandedBitlink | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'link': value['link'],\n        'id': value['id'],\n        'long_url': value['long_url'],\n        'created_at': value['created_at'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { InstallPreference } from './InstallPreference';\nimport {\n    InstallPreferenceFromJSON,\n    InstallPreferenceFromJSONTyped,\n    InstallPreferenceToJSON,\n    InstallPreferenceToJSONTyped,\n} from './InstallPreference';\n\n/**\n * \n * @export\n * @interface Deeplink\n */\nexport interface Deeplink {\n    /**\n     * \n     * @type {string}\n     * @memberof Deeplink\n     */\n    app_id?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof Deeplink\n     */\n    app_uri_path?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof Deeplink\n     */\n    install_url?: string;\n    /**\n     * \n     * @type {InstallPreference}\n     * @memberof Deeplink\n     */\n    install_type?: InstallPreference;\n}\n\n\n\n/**\n * Check if a given object implements the Deeplink interface.\n */\nexport function instanceOfDeeplink(value: object): value is Deeplink {\n    return true;\n}\n\nexport function DeeplinkFromJSON(json: any): Deeplink {\n    return DeeplinkFromJSONTyped(json, false);\n}\n\nexport function DeeplinkFromJSONTyped(json: any, ignoreDiscriminator: boolean): Deeplink {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'app_id': json['app_id'] == null ? undefined : json['app_id'],\n        'app_uri_path': json['app_uri_path'] == null ? undefined : json['app_uri_path'],\n        'install_url': json['install_url'] == null ? undefined : json['install_url'],\n        'install_type': json['install_type'] == null ? undefined : InstallPreferenceFromJSON(json['install_type']),\n    };\n}\n\nexport function DeeplinkToJSON(json: any): Deeplink {\n    return DeeplinkToJSONTyped(json, false);\n}\n\nexport function DeeplinkToJSONTyped(value?: Deeplink | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'app_id': value['app_id'],\n        'app_uri_path': value['app_uri_path'],\n        'install_url': value['install_url'],\n        'install_type': InstallPreferenceToJSON(value['install_type']),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { Deeplink } from './Deeplink';\nimport {\n    DeeplinkFromJSON,\n    DeeplinkFromJSONTyped,\n    DeeplinkToJSON,\n    DeeplinkToJSONTyped,\n} from './Deeplink';\n\n/**\n * Either long_url (for new bitlinks) or bitlink_id (for adding keywords to existing bitlinks) must be provided, but not both.\n * @export\n * @interface FullShorten\n */\nexport interface FullShorten {\n    /**\n     * URL to be shortened. Required when creating new bitlinks. Cannot be used with bitlink_id.\n     * @type {string}\n     * @memberof FullShorten\n     */\n    long_url?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof FullShorten\n     */\n    domain?: string;\n    /**\n     * Always include a specific group and custom domain in your shorten calls.\n     * @type {string}\n     * @memberof FullShorten\n     */\n    group_guid?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof FullShorten\n     */\n    title?: string;\n    /**\n     * \n     * @type {Array<string>}\n     * @memberof FullShorten\n     */\n    tags?: Array<string>;\n    /**\n     * \n     * @type {Array<Deeplink>}\n     * @memberof FullShorten\n     */\n    deeplinks?: Array<Deeplink>;\n    /**\n     * \n     * @type {boolean}\n     * @memberof FullShorten\n     */\n    force_new_link?: boolean;\n    /**\n     * Custom keyword for creating keyword overrides. If provided, creates an override at domain/keyword\n     * @type {string}\n     * @memberof FullShorten\n     */\n    keyword?: string;\n    /**\n     * Existing bitlink ID to add a keyword override to. Format: domain/hash. Cannot be used with long_url\n     * @type {string}\n     * @memberof FullShorten\n     */\n    bitlink_id?: string;\n    /**\n     * Optional expiration timestamp for the bitlink (e.g., 2025-01-28T14:30:00+0000). Minimum expiration time is 5 minutes from now and maximum is 1 year.\n     * @type {string}\n     * @memberof FullShorten\n     */\n    expiration_at?: string;\n}\n\n/**\n * Check if a given object implements the FullShorten interface.\n */\nexport function instanceOfFullShorten(value: object): value is FullShorten {\n    return true;\n}\n\nexport function FullShortenFromJSON(json: any): FullShorten {\n    return FullShortenFromJSONTyped(json, false);\n}\n\nexport function FullShortenFromJSONTyped(json: any, ignoreDiscriminator: boolean): FullShorten {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'long_url': json['long_url'] == null ? undefined : json['long_url'],\n        'domain': json['domain'] == null ? undefined : json['domain'],\n        'group_guid': json['group_guid'] == null ? undefined : json['group_guid'],\n        'title': json['title'] == null ? undefined : json['title'],\n        'tags': json['tags'] == null ? undefined : json['tags'],\n        'deeplinks': json['deeplinks'] == null ? undefined : ((json['deeplinks'] as Array<any>).map(DeeplinkFromJSON)),\n        'force_new_link': json['force_new_link'] == null ? undefined : json['force_new_link'],\n        'keyword': json['keyword'] == null ? undefined : json['keyword'],\n        'bitlink_id': json['bitlink_id'] == null ? undefined : json['bitlink_id'],\n        'expiration_at': json['expiration_at'] == null ? undefined : json['expiration_at'],\n    };\n}\n\nexport function FullShortenToJSON(json: any): FullShorten {\n    return FullShortenToJSONTyped(json, false);\n}\n\nexport function FullShortenToJSONTyped(value?: FullShorten | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'long_url': value['long_url'],\n        'domain': value['domain'],\n        'group_guid': value['group_guid'],\n        'title': value['title'],\n        'tags': value['tags'],\n        'deeplinks': value['deeplinks'] == null ? undefined : ((value['deeplinks'] as Array<any>).map(DeeplinkToJSON)),\n        'force_new_link': value['force_new_link'],\n        'keyword': value['keyword'],\n        'bitlink_id': value['bitlink_id'],\n        'expiration_at': value['expiration_at'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 DeletedLink\n */\nexport interface DeletedLink {\n    /**\n     * \n     * @type {string}\n     * @memberof DeletedLink\n     */\n    id?: string;\n}\n\n/**\n * Check if a given object implements the DeletedLink interface.\n */\nexport function instanceOfDeletedLink(value: object): value is DeletedLink {\n    return true;\n}\n\nexport function DeletedLinkFromJSON(json: any): DeletedLink {\n    return DeletedLinkFromJSONTyped(json, false);\n}\n\nexport function DeletedLinkFromJSONTyped(json: any, ignoreDiscriminator: boolean): DeletedLink {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'id': json['id'] == null ? undefined : json['id'],\n    };\n}\n\nexport function DeletedLinkToJSON(json: any): DeletedLink {\n    return DeletedLinkToJSONTyped(json, false);\n}\n\nexport function DeletedLinkToJSONTyped(value?: DeletedLink | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'id': value['id'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { DeletedLink } from './DeletedLink';\nimport {\n    DeletedLinkFromJSON,\n    DeletedLinkFromJSONTyped,\n    DeletedLinkToJSON,\n    DeletedLinkToJSONTyped,\n} from './DeletedLink';\n\n/**\n * \n * @export\n * @interface LinkDeletionResponse\n */\nexport interface LinkDeletionResponse {\n    /**\n     * \n     * @type {Array<DeletedLink>}\n     * @memberof LinkDeletionResponse\n     */\n    links_deleted?: Array<DeletedLink>;\n}\n\n/**\n * Check if a given object implements the LinkDeletionResponse interface.\n */\nexport function instanceOfLinkDeletionResponse(value: object): value is LinkDeletionResponse {\n    return true;\n}\n\nexport function LinkDeletionResponseFromJSON(json: any): LinkDeletionResponse {\n    return LinkDeletionResponseFromJSONTyped(json, false);\n}\n\nexport function LinkDeletionResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): LinkDeletionResponse {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'links_deleted': json['links_deleted'] == null ? undefined : ((json['links_deleted'] as Array<any>).map(DeletedLinkFromJSON)),\n    };\n}\n\nexport function LinkDeletionResponseToJSON(json: any): LinkDeletionResponse {\n    return LinkDeletionResponseToJSONTyped(json, false);\n}\n\nexport function LinkDeletionResponseToJSONTyped(value?: LinkDeletionResponse | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'links_deleted': value['links_deleted'] == null ? undefined : ((value['links_deleted'] as Array<any>).map(DeletedLinkToJSON)),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 Metric\n */\nexport interface Metric {\n    /**\n     * \n     * @type {string}\n     * @memberof Metric\n     */\n    key?: string;\n    /**\n     * \n     * @type {number}\n     * @memberof Metric\n     */\n    value?: number;\n}\n\n/**\n * Check if a given object implements the Metric interface.\n */\nexport function instanceOfMetric(value: object): value is Metric {\n    return true;\n}\n\nexport function MetricFromJSON(json: any): Metric {\n    return MetricFromJSONTyped(json, false);\n}\n\nexport function MetricFromJSONTyped(json: any, ignoreDiscriminator: boolean): Metric {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'key': json['key'] == null ? undefined : json['key'],\n        'value': json['value'] == null ? undefined : json['value'],\n    };\n}\n\nexport function MetricToJSON(json: any): Metric {\n    return MetricToJSONTyped(json, false);\n}\n\nexport function MetricToJSONTyped(value?: Metric | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'key': value['key'],\n        'value': value['value'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { Metric } from './Metric';\nimport {\n    MetricFromJSON,\n    MetricFromJSONTyped,\n    MetricToJSON,\n    MetricToJSONTyped,\n} from './Metric';\n\n/**\n * \n * @export\n * @interface ReferrersByDomain\n */\nexport interface ReferrersByDomain {\n    /**\n     * \n     * @type {string}\n     * @memberof ReferrersByDomain\n     */\n    network?: string;\n    /**\n     * \n     * @type {Array<Metric>}\n     * @memberof ReferrersByDomain\n     */\n    referrers?: Array<Metric>;\n}\n\n/**\n * Check if a given object implements the ReferrersByDomain interface.\n */\nexport function instanceOfReferrersByDomain(value: object): value is ReferrersByDomain {\n    return true;\n}\n\nexport function ReferrersByDomainFromJSON(json: any): ReferrersByDomain {\n    return ReferrersByDomainFromJSONTyped(json, false);\n}\n\nexport function ReferrersByDomainFromJSONTyped(json: any, ignoreDiscriminator: boolean): ReferrersByDomain {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'network': json['network'] == null ? undefined : json['network'],\n        'referrers': json['referrers'] == null ? undefined : ((json['referrers'] as Array<any>).map(MetricFromJSON)),\n    };\n}\n\nexport function ReferrersByDomainToJSON(json: any): ReferrersByDomain {\n    return ReferrersByDomainToJSONTyped(json, false);\n}\n\nexport function ReferrersByDomainToJSONTyped(value?: ReferrersByDomain | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'network': value['network'],\n        'referrers': value['referrers'] == null ? undefined : ((value['referrers'] as Array<any>).map(MetricToJSON)),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { ReferrersByDomain } from './ReferrersByDomain';\nimport {\n    ReferrersByDomainFromJSON,\n    ReferrersByDomainFromJSONTyped,\n    ReferrersByDomainToJSON,\n    ReferrersByDomainToJSONTyped,\n} from './ReferrersByDomain';\n\n/**\n * \n * @export\n * @interface ReferrersByDomains\n */\nexport interface ReferrersByDomains {\n    /**\n     * \n     * @type {string}\n     * @memberof ReferrersByDomains\n     */\n    unit?: string;\n    /**\n     * \n     * @type {number}\n     * @memberof ReferrersByDomains\n     */\n    units?: number;\n    /**\n     * \n     * @type {ReferrersByDomainsFacetEnum}\n     * @memberof ReferrersByDomains\n     */\n    facet?: ReferrersByDomainsFacetEnum;\n    /**\n     * \n     * @type {string}\n     * @memberof ReferrersByDomains\n     */\n    unit_reference?: string;\n    /**\n     * \n     * @type {Array<ReferrersByDomain>}\n     * @memberof ReferrersByDomains\n     */\n    referrers_by_domain?: Array<ReferrersByDomain>;\n}\n\n/**\n* @export\n* @enum {string}\n*/\nexport enum ReferrersByDomainsFacetEnum {\n    referrers_by_domains = 'referrers_by_domains'\n}\n\n\n/**\n * Check if a given object implements the ReferrersByDomains interface.\n */\nexport function instanceOfReferrersByDomains(value: object): value is ReferrersByDomains {\n    return true;\n}\n\nexport function ReferrersByDomainsFromJSON(json: any): ReferrersByDomains {\n    return ReferrersByDomainsFromJSONTyped(json, false);\n}\n\nexport function ReferrersByDomainsFromJSONTyped(json: any, ignoreDiscriminator: boolean): ReferrersByDomains {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'unit': json['unit'] == null ? undefined : json['unit'],\n        'units': json['units'] == null ? undefined : json['units'],\n        'facet': json['facet'] == null ? undefined : json['facet'],\n        'unit_reference': json['unit_reference'] == null ? undefined : json['unit_reference'],\n        'referrers_by_domain': json['referrers_by_domain'] == null ? undefined : ((json['referrers_by_domain'] as Array<any>).map(ReferrersByDomainFromJSON)),\n    };\n}\n\nexport function ReferrersByDomainsToJSON(json: any): ReferrersByDomains {\n    return ReferrersByDomainsToJSONTyped(json, false);\n}\n\nexport function ReferrersByDomainsToJSONTyped(value?: ReferrersByDomains | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'unit': value['unit'],\n        'units': value['units'],\n        'facet': value['facet'],\n        'unit_reference': value['unit_reference'],\n        'referrers_by_domain': value['referrers_by_domain'] == null ? undefined : ((value['referrers_by_domain'] as Array<any>).map(ReferrersByDomainToJSON)),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 Shorten\n */\nexport interface Shorten {\n    /**\n     * \n     * @type {string}\n     * @memberof Shorten\n     */\n    long_url: string;\n    /**\n     * \n     * @type {string}\n     * @memberof Shorten\n     */\n    domain?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof Shorten\n     */\n    group_guid?: string;\n    /**\n     * \n     * @type {boolean}\n     * @memberof Shorten\n     */\n    force_new_link?: boolean;\n}\n\n/**\n * Check if a given object implements the Shorten interface.\n */\nexport function instanceOfShorten(value: object): value is Shorten {\n    if (!('long_url' in value) || value['long_url'] === undefined) return false;\n    return true;\n}\n\nexport function ShortenFromJSON(json: any): Shorten {\n    return ShortenFromJSONTyped(json, false);\n}\n\nexport function ShortenFromJSONTyped(json: any, ignoreDiscriminator: boolean): Shorten {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'long_url': json['long_url'],\n        'domain': json['domain'] == null ? undefined : json['domain'],\n        'group_guid': json['group_guid'] == null ? undefined : json['group_guid'],\n        'force_new_link': json['force_new_link'] == null ? undefined : json['force_new_link'],\n    };\n}\n\nexport function ShortenToJSON(json: any): Shorten {\n    return ShortenToJSONTyped(json, false);\n}\n\nexport function ShortenToJSONTyped(value?: Shorten | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'long_url': value['long_url'],\n        'domain': value['domain'],\n        'group_guid': value['group_guid'],\n        'force_new_link': value['force_new_link'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { DeeplinkRule } from './DeeplinkRule';\nimport {\n    DeeplinkRuleFromJSON,\n    DeeplinkRuleFromJSONTyped,\n    DeeplinkRuleToJSON,\n    DeeplinkRuleToJSONTyped,\n} from './DeeplinkRule';\n\n/**\n * \n * @export\n * @interface ShortenBitlinkBody\n */\nexport interface ShortenBitlinkBody {\n    /**\n     * \n     * @type {{ [key: string]: string; }}\n     * @memberof ShortenBitlinkBody\n     */\n    references?: { [key: string]: string; };\n    /**\n     * \n     * @type {string}\n     * @memberof ShortenBitlinkBody\n     */\n    link?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof ShortenBitlinkBody\n     */\n    id?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof ShortenBitlinkBody\n     */\n    long_url?: string;\n    /**\n     * \n     * @type {boolean}\n     * @memberof ShortenBitlinkBody\n     */\n    archived?: boolean;\n    /**\n     * \n     * @type {string}\n     * @memberof ShortenBitlinkBody\n     */\n    created_at?: string;\n    /**\n     * list of previously edited backhalfs for the bitlink - these are in reverse chronological order, with the most recently edited backhalf first\n     * @type {Array<string>}\n     * @memberof ShortenBitlinkBody\n     */\n    custom_bitlinks?: Array<string>;\n    /**\n     * \n     * @type {Array<string>}\n     * @memberof ShortenBitlinkBody\n     */\n    tags?: Array<string>;\n    /**\n     * \n     * @type {Array<DeeplinkRule>}\n     * @memberof ShortenBitlinkBody\n     */\n    deeplinks?: Array<DeeplinkRule>;\n}\n\n/**\n * Check if a given object implements the ShortenBitlinkBody interface.\n */\nexport function instanceOfShortenBitlinkBody(value: object): value is ShortenBitlinkBody {\n    return true;\n}\n\nexport function ShortenBitlinkBodyFromJSON(json: any): ShortenBitlinkBody {\n    return ShortenBitlinkBodyFromJSONTyped(json, false);\n}\n\nexport function ShortenBitlinkBodyFromJSONTyped(json: any, ignoreDiscriminator: boolean): ShortenBitlinkBody {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'references': json['references'] == null ? undefined : json['references'],\n        'link': json['link'] == null ? undefined : json['link'],\n        'id': json['id'] == null ? undefined : json['id'],\n        'long_url': json['long_url'] == null ? undefined : json['long_url'],\n        'archived': json['archived'] == null ? undefined : json['archived'],\n        'created_at': json['created_at'] == null ? undefined : json['created_at'],\n        'custom_bitlinks': json['custom_bitlinks'] == null ? undefined : json['custom_bitlinks'],\n        'tags': json['tags'] == null ? undefined : json['tags'],\n        'deeplinks': json['deeplinks'] == null ? undefined : ((json['deeplinks'] as Array<any>).map(DeeplinkRuleFromJSON)),\n    };\n}\n\nexport function ShortenBitlinkBodyToJSON(json: any): ShortenBitlinkBody {\n    return ShortenBitlinkBodyToJSONTyped(json, false);\n}\n\nexport function ShortenBitlinkBodyToJSONTyped(value?: ShortenBitlinkBody | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'references': value['references'],\n        'link': value['link'],\n        'id': value['id'],\n        'long_url': value['long_url'],\n        'archived': value['archived'],\n        'created_at': value['created_at'],\n        'custom_bitlinks': value['custom_bitlinks'],\n        'tags': value['tags'],\n        'deeplinks': value['deeplinks'] == null ? undefined : ((value['deeplinks'] as Array<any>).map(DeeplinkRuleToJSON)),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 ClickLink\n */\nexport interface ClickLink {\n    /**\n     * \n     * @type {number}\n     * @memberof ClickLink\n     */\n    clicks?: number;\n    /**\n     * \n     * @type {string}\n     * @memberof ClickLink\n     */\n    id?: string;\n}\n\n/**\n * Check if a given object implements the ClickLink interface.\n */\nexport function instanceOfClickLink(value: object): value is ClickLink {\n    return true;\n}\n\nexport function ClickLinkFromJSON(json: any): ClickLink {\n    return ClickLinkFromJSONTyped(json, false);\n}\n\nexport function ClickLinkFromJSONTyped(json: any, ignoreDiscriminator: boolean): ClickLink {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'clicks': json['clicks'] == null ? undefined : json['clicks'],\n        'id': json['id'] == null ? undefined : json['id'],\n    };\n}\n\nexport function ClickLinkToJSON(json: any): ClickLink {\n    return ClickLinkToJSONTyped(json, false);\n}\n\nexport function ClickLinkToJSONTyped(value?: ClickLink | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'clicks': value['clicks'],\n        'id': value['id'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { BitlinkBody } from './BitlinkBody';\nimport {\n    BitlinkBodyFromJSON,\n    BitlinkBodyFromJSONTyped,\n    BitlinkBodyToJSON,\n    BitlinkBodyToJSONTyped,\n} from './BitlinkBody';\nimport type { ClickLink } from './ClickLink';\nimport {\n    ClickLinkFromJSON,\n    ClickLinkFromJSONTyped,\n    ClickLinkToJSON,\n    ClickLinkToJSONTyped,\n} from './ClickLink';\n\n/**\n * \n * @export\n * @interface SortedLinks\n */\nexport interface SortedLinks {\n    /**\n     * \n     * @type {Array<BitlinkBody>}\n     * @memberof SortedLinks\n     */\n    links?: Array<BitlinkBody>;\n    /**\n     * \n     * @type {Array<ClickLink>}\n     * @memberof SortedLinks\n     */\n    sorted_links?: Array<ClickLink>;\n}\n\n/**\n * Check if a given object implements the SortedLinks interface.\n */\nexport function instanceOfSortedLinks(value: object): value is SortedLinks {\n    return true;\n}\n\nexport function SortedLinksFromJSON(json: any): SortedLinks {\n    return SortedLinksFromJSONTyped(json, false);\n}\n\nexport function SortedLinksFromJSONTyped(json: any, ignoreDiscriminator: boolean): SortedLinks {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'links': json['links'] == null ? undefined : ((json['links'] as Array<any>).map(BitlinkBodyFromJSON)),\n        'sorted_links': json['sorted_links'] == null ? undefined : ((json['sorted_links'] as Array<any>).map(ClickLinkFromJSON)),\n    };\n}\n\nexport function SortedLinksToJSON(json: any): SortedLinks {\n    return SortedLinksToJSONTyped(json, false);\n}\n\nexport function SortedLinksToJSONTyped(value?: SortedLinks | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'links': value['links'] == null ? undefined : ((value['links'] as Array<any>).map(BitlinkBodyToJSON)),\n        'sorted_links': value['sorted_links'] == null ? undefined : ((value['sorted_links'] as Array<any>).map(ClickLinkToJSON)),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 * Engagement-count subtotal for a single bitlink or decoupled QR code. The `id` references either a bitlink (`<domain>/<hash>`) or a QR code guid, and `engagements` is the combined count of bitlink clicks or QR code scans for that entity.\n * \n * @export\n * @interface EngagementSubtotal\n */\nexport interface EngagementSubtotal {\n    /**\n     * \n     * @type {number}\n     * @memberof EngagementSubtotal\n     */\n    engagements?: number;\n    /**\n     * \n     * @type {string}\n     * @memberof EngagementSubtotal\n     */\n    id?: string;\n}\n\n/**\n * Check if a given object implements the EngagementSubtotal interface.\n */\nexport function instanceOfEngagementSubtotal(value: object): value is EngagementSubtotal {\n    return true;\n}\n\nexport function EngagementSubtotalFromJSON(json: any): EngagementSubtotal {\n    return EngagementSubtotalFromJSONTyped(json, false);\n}\n\nexport function EngagementSubtotalFromJSONTyped(json: any, ignoreDiscriminator: boolean): EngagementSubtotal {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'engagements': json['engagements'] == null ? undefined : json['engagements'],\n        'id': json['id'] == null ? undefined : json['id'],\n    };\n}\n\nexport function EngagementSubtotalToJSON(json: any): EngagementSubtotal {\n    return EngagementSubtotalToJSONTyped(json, false);\n}\n\nexport function EngagementSubtotalToJSONTyped(value?: EngagementSubtotal | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'engagements': value['engagements'],\n        'id': value['id'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 * The type of dynamic/static content the QR serves, e.g. Link In Bio page, micro site, bitlink, email, text, Wifi, etc.\n * @export\n * @enum {string}\n */\nexport enum QRCodeTypeEnum {\n    bitlink = 'bitlink',\n    long_url = 'long_url',\n    link_in_bio = 'link_in_bio',\n    v_card = 'v_card',\n    wifi = 'wifi',\n    email = 'email',\n    phone = 'phone',\n    text = 'text'\n}\n\n\nexport function instanceOfQRCodeTypeEnum(value: any): boolean {\n    for (const key in QRCodeTypeEnum) {\n        if (Object.prototype.hasOwnProperty.call(QRCodeTypeEnum, key)) {\n            if (QRCodeTypeEnum[key as keyof typeof QRCodeTypeEnum] === value) {\n                return true;\n            }\n        }\n    }\n    return false;\n}\n\nexport function QRCodeTypeEnumFromJSON(json: any): QRCodeTypeEnum {\n    return QRCodeTypeEnumFromJSONTyped(json, false);\n}\n\nexport function QRCodeTypeEnumFromJSONTyped(json: any, ignoreDiscriminator: boolean): QRCodeTypeEnum {\n    return json as QRCodeTypeEnum;\n}\n\nexport function QRCodeTypeEnumToJSON(value?: QRCodeTypeEnum | null): any {\n    return value as any;\n}\n\nexport function QRCodeTypeEnumToJSONTyped(value: any, ignoreDiscriminator: boolean): QRCodeTypeEnum {\n    return value as QRCodeTypeEnum;\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { QRCodeTypeEnum } from './QRCodeTypeEnum';\nimport {\n    QRCodeTypeEnumFromJSON,\n    QRCodeTypeEnumFromJSONTyped,\n    QRCodeTypeEnumToJSON,\n    QRCodeTypeEnumToJSONTyped,\n} from './QRCodeTypeEnum';\n\n/**\n * \n * @export\n * @interface QRCodeMinimal\n */\nexport interface QRCodeMinimal {\n    /**\n     * \n     * @type {string}\n     * @memberof QRCodeMinimal\n     */\n    qrcode_id?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof QRCodeMinimal\n     */\n    group_guid?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof QRCodeMinimal\n     */\n    title?: string;\n    /**\n     * Set to true if the QR code's customization values have been changed from their default setting\n     * @type {boolean}\n     * @memberof QRCodeMinimal\n     */\n    is_customized?: boolean;\n    /**\n     * A serialized string of the QR code's content\n     * @type {string}\n     * @memberof QRCodeMinimal\n     */\n    serialized_content?: string;\n    /**\n     * \n     * @type {QRCodeTypeEnum}\n     * @memberof QRCodeMinimal\n     */\n    qr_code_type?: QRCodeTypeEnum;\n    /**\n     * A list of destination URLs that the qr code leads to.\n     * @type {Array<string>}\n     * @memberof QRCodeMinimal\n     */\n    long_urls?: Array<string>;\n    /**\n     * The bitlink ID associated with the qr code. Not all qr codes are associated with one.\n     * @type {string}\n     * @memberof QRCodeMinimal\n     */\n    bitlink_id?: string;\n    /**\n     * Set to true if QR code has GS1 values.\n     * @type {boolean}\n     * @memberof QRCodeMinimal\n     */\n    is_gs1?: boolean;\n    /**\n     * User that created the code.\n     * @type {string}\n     * @memberof QRCodeMinimal\n     */\n    created_by?: string;\n    /**\n     * A list of tags associated with QR code\n     * @type {Array<string>}\n     * @memberof QRCodeMinimal\n     */\n    tags?: Array<string>;\n    /**\n     * \n     * @type {boolean}\n     * @memberof QRCodeMinimal\n     */\n    archived?: boolean;\n    /**\n     * Optional expiration timestamp for the QR code's bitlink (e.g., 2025-01-28T14:30:00+0000)\n     * @type {string}\n     * @memberof QRCodeMinimal\n     */\n    expiration_at?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof QRCodeMinimal\n     */\n    created?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof QRCodeMinimal\n     */\n    modified?: string;\n}\n\n\n\n/**\n * Check if a given object implements the QRCodeMinimal interface.\n */\nexport function instanceOfQRCodeMinimal(value: object): value is QRCodeMinimal {\n    return true;\n}\n\nexport function QRCodeMinimalFromJSON(json: any): QRCodeMinimal {\n    return QRCodeMinimalFromJSONTyped(json, false);\n}\n\nexport function QRCodeMinimalFromJSONTyped(json: any, ignoreDiscriminator: boolean): QRCodeMinimal {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'qrcode_id': json['qrcode_id'] == null ? undefined : json['qrcode_id'],\n        'group_guid': json['group_guid'] == null ? undefined : json['group_guid'],\n        'title': json['title'] == null ? undefined : json['title'],\n        'is_customized': json['is_customized'] == null ? undefined : json['is_customized'],\n        'serialized_content': json['serialized_content'] == null ? undefined : json['serialized_content'],\n        'qr_code_type': json['qr_code_type'] == null ? undefined : QRCodeTypeEnumFromJSON(json['qr_code_type']),\n        'long_urls': json['long_urls'] == null ? undefined : json['long_urls'],\n        'bitlink_id': json['bitlink_id'] == null ? undefined : json['bitlink_id'],\n        'is_gs1': json['is_gs1'] == null ? undefined : json['is_gs1'],\n        'created_by': json['created_by'] == null ? undefined : json['created_by'],\n        'tags': json['tags'] == null ? undefined : json['tags'],\n        'archived': json['archived'] == null ? undefined : json['archived'],\n        'expiration_at': json['expiration_at'] == null ? undefined : json['expiration_at'],\n        'created': json['created'] == null ? undefined : json['created'],\n        'modified': json['modified'] == null ? undefined : json['modified'],\n    };\n}\n\nexport function QRCodeMinimalToJSON(json: any): QRCodeMinimal {\n    return QRCodeMinimalToJSONTyped(json, false);\n}\n\nexport function QRCodeMinimalToJSONTyped(value?: QRCodeMinimal | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'qrcode_id': value['qrcode_id'],\n        'group_guid': value['group_guid'],\n        'title': value['title'],\n        'is_customized': value['is_customized'],\n        'serialized_content': value['serialized_content'],\n        'qr_code_type': QRCodeTypeEnumToJSON(value['qr_code_type']),\n        'long_urls': value['long_urls'],\n        'bitlink_id': value['bitlink_id'],\n        'is_gs1': value['is_gs1'],\n        'created_by': value['created_by'],\n        'tags': value['tags'],\n        'archived': value['archived'],\n        'expiration_at': value['expiration_at'],\n        'created': value['created'],\n        'modified': value['modified'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { BitlinkBody } from './BitlinkBody';\nimport {\n    BitlinkBodyFromJSON,\n    BitlinkBodyFromJSONTyped,\n    BitlinkBodyToJSON,\n    BitlinkBodyToJSONTyped,\n} from './BitlinkBody';\nimport type { EngagementSubtotal } from './EngagementSubtotal';\nimport {\n    EngagementSubtotalFromJSON,\n    EngagementSubtotalFromJSONTyped,\n    EngagementSubtotalToJSON,\n    EngagementSubtotalToJSONTyped,\n} from './EngagementSubtotal';\nimport type { QRCodeMinimal } from './QRCodeMinimal';\nimport {\n    QRCodeMinimalFromJSON,\n    QRCodeMinimalFromJSONTyped,\n    QRCodeMinimalToJSON,\n    QRCodeMinimalToJSONTyped,\n} from './QRCodeMinimal';\n\n/**\n * Response shape for top bitlinks and decoupled QR codes in a group, ranked together by engagement count. `links` and `qr_codes` are independent lists (a link and a decoupled QR code are never the same entity); `sorted_engagements` is the unified descending-by-engagement ordering across both, with each entry's id referencing either a bitlink or a QR code guid. Coupled QRCs are listed by their bitlink ID.\n * \n * @export\n * @interface TopLinksAndQRCodes\n */\nexport interface TopLinksAndQRCodes {\n    /**\n     * \n     * @type {Array<BitlinkBody>}\n     * @memberof TopLinksAndQRCodes\n     */\n    links?: Array<BitlinkBody>;\n    /**\n     * \n     * @type {Array<QRCodeMinimal>}\n     * @memberof TopLinksAndQRCodes\n     */\n    qr_codes?: Array<QRCodeMinimal>;\n    /**\n     * \n     * @type {Array<EngagementSubtotal>}\n     * @memberof TopLinksAndQRCodes\n     */\n    sorted_engagements?: Array<EngagementSubtotal>;\n}\n\n/**\n * Check if a given object implements the TopLinksAndQRCodes interface.\n */\nexport function instanceOfTopLinksAndQRCodes(value: object): value is TopLinksAndQRCodes {\n    return true;\n}\n\nexport function TopLinksAndQRCodesFromJSON(json: any): TopLinksAndQRCodes {\n    return TopLinksAndQRCodesFromJSONTyped(json, false);\n}\n\nexport function TopLinksAndQRCodesFromJSONTyped(json: any, ignoreDiscriminator: boolean): TopLinksAndQRCodes {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'links': json['links'] == null ? undefined : ((json['links'] as Array<any>).map(BitlinkBodyFromJSON)),\n        'qr_codes': json['qr_codes'] == null ? undefined : ((json['qr_codes'] as Array<any>).map(QRCodeMinimalFromJSON)),\n        'sorted_engagements': json['sorted_engagements'] == null ? undefined : ((json['sorted_engagements'] as Array<any>).map(EngagementSubtotalFromJSON)),\n    };\n}\n\nexport function TopLinksAndQRCodesToJSON(json: any): TopLinksAndQRCodes {\n    return TopLinksAndQRCodesToJSONTyped(json, false);\n}\n\nexport function TopLinksAndQRCodesToJSONTyped(value?: TopLinksAndQRCodes | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'links': value['links'] == null ? undefined : ((value['links'] as Array<any>).map(BitlinkBodyToJSON)),\n        'qr_codes': value['qr_codes'] == null ? undefined : ((value['qr_codes'] as Array<any>).map(QRCodeMinimalToJSON)),\n        'sorted_engagements': value['sorted_engagements'] == null ? undefined : ((value['sorted_engagements'] as Array<any>).map(EngagementSubtotalToJSON)),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 Engagement\n */\nexport interface Engagement {\n    /**\n     * \n     * @type {number}\n     * @memberof Engagement\n     */\n    lib_button_clicks?: number;\n    /**\n     * \n     * @type {number}\n     * @memberof Engagement\n     */\n    clicks?: number;\n    /**\n     * \n     * @type {number}\n     * @memberof Engagement\n     */\n    scans?: number;\n}\n\n/**\n * Check if a given object implements the Engagement interface.\n */\nexport function instanceOfEngagement(value: object): value is Engagement {\n    return true;\n}\n\nexport function EngagementFromJSON(json: any): Engagement {\n    return EngagementFromJSONTyped(json, false);\n}\n\nexport function EngagementFromJSONTyped(json: any, ignoreDiscriminator: boolean): Engagement {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'lib_button_clicks': json['lib_button_clicks'] == null ? undefined : json['lib_button_clicks'],\n        'clicks': json['clicks'] == null ? undefined : json['clicks'],\n        'scans': json['scans'] == null ? undefined : json['scans'],\n    };\n}\n\nexport function EngagementToJSON(json: any): Engagement {\n    return EngagementToJSONTyped(json, false);\n}\n\nexport function EngagementToJSONTyped(value?: Engagement | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'lib_button_clicks': value['lib_button_clicks'],\n        'clicks': value['clicks'],\n        'scans': value['scans'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { Engagement } from './Engagement';\nimport {\n    EngagementFromJSON,\n    EngagementFromJSONTyped,\n    EngagementToJSON,\n    EngagementToJSONTyped,\n} from './Engagement';\n\n/**\n * \n * @export\n * @interface Engagements\n */\nexport interface Engagements {\n    /**\n     * \n     * @type {number}\n     * @memberof Engagements\n     */\n    engagement_count?: number;\n    /**\n     * \n     * @type {Engagement}\n     * @memberof Engagements\n     */\n    engagements?: Engagement;\n    /**\n     * \n     * @type {string}\n     * @memberof Engagements\n     */\n    date?: string;\n}\n\n/**\n * Check if a given object implements the Engagements interface.\n */\nexport function instanceOfEngagements(value: object): value is Engagements {\n    return true;\n}\n\nexport function EngagementsFromJSON(json: any): Engagements {\n    return EngagementsFromJSONTyped(json, false);\n}\n\nexport function EngagementsFromJSONTyped(json: any, ignoreDiscriminator: boolean): Engagements {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'engagement_count': json['engagement_count'] == null ? undefined : json['engagement_count'],\n        'engagements': json['engagements'] == null ? undefined : EngagementFromJSON(json['engagements']),\n        'date': json['date'] == null ? undefined : json['date'],\n    };\n}\n\nexport function EngagementsToJSON(json: any): Engagements {\n    return EngagementsToJSONTyped(json, false);\n}\n\nexport function EngagementsToJSONTyped(value?: Engagements | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'engagement_count': value['engagement_count'],\n        'engagements': EngagementToJSON(value['engagements']),\n        'date': value['date'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { Engagements } from './Engagements';\nimport {\n    EngagementsFromJSON,\n    EngagementsFromJSONTyped,\n    EngagementsToJSON,\n    EngagementsToJSONTyped,\n} from './Engagements';\n\n/**\n * \n * @export\n * @interface TotalEngagements\n */\nexport interface TotalEngagements {\n    /**\n     * \n     * @type {Array<Engagements>}\n     * @memberof TotalEngagements\n     */\n    engagements?: Array<Engagements>;\n    /**\n     * \n     * @type {number}\n     * @memberof TotalEngagements\n     */\n    units?: number;\n    /**\n     * \n     * @type {TotalEngagementsUnitEnum}\n     * @memberof TotalEngagements\n     */\n    unit?: TotalEngagementsUnitEnum;\n    /**\n     * \n     * @type {string}\n     * @memberof TotalEngagements\n     */\n    unit_reference?: string;\n}\n\n/**\n* @export\n* @enum {string}\n*/\nexport enum TotalEngagementsUnitEnum {\n    minute = 'minute',\n    hour = 'hour',\n    day = 'day',\n    week = 'week',\n    month = 'month'\n}\n\n\n/**\n * Check if a given object implements the TotalEngagements interface.\n */\nexport function instanceOfTotalEngagements(value: object): value is TotalEngagements {\n    return true;\n}\n\nexport function TotalEngagementsFromJSON(json: any): TotalEngagements {\n    return TotalEngagementsFromJSONTyped(json, false);\n}\n\nexport function TotalEngagementsFromJSONTyped(json: any, ignoreDiscriminator: boolean): TotalEngagements {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'engagements': json['engagements'] == null ? undefined : ((json['engagements'] as Array<any>).map(EngagementsFromJSON)),\n        'units': json['units'] == null ? undefined : json['units'],\n        'unit': json['unit'] == null ? undefined : json['unit'],\n        'unit_reference': json['unit_reference'] == null ? undefined : json['unit_reference'],\n    };\n}\n\nexport function TotalEngagementsToJSON(json: any): TotalEngagements {\n    return TotalEngagementsToJSONTyped(json, false);\n}\n\nexport function TotalEngagementsToJSONTyped(value?: TotalEngagements | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'engagements': value['engagements'] == null ? undefined : ((value['engagements'] as Array<any>).map(EngagementsToJSON)),\n        'units': value['units'],\n        'unit': value['unit'],\n        'unit_reference': value['unit_reference'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { Engagement } from './Engagement';\nimport {\n    EngagementFromJSON,\n    EngagementFromJSONTyped,\n    EngagementToJSON,\n    EngagementToJSONTyped,\n} from './Engagement';\n\n/**\n * \n * @export\n * @interface TotalEngagementsSummary\n */\nexport interface TotalEngagementsSummary {\n    /**\n     * \n     * @type {number}\n     * @memberof TotalEngagementsSummary\n     */\n    total_engagements?: number;\n    /**\n     * \n     * @type {Engagement}\n     * @memberof TotalEngagementsSummary\n     */\n    engagements?: Engagement;\n    /**\n     * \n     * @type {number}\n     * @memberof TotalEngagementsSummary\n     */\n    units?: number;\n    /**\n     * \n     * @type {TotalEngagementsSummaryUnitEnum}\n     * @memberof TotalEngagementsSummary\n     */\n    unit?: TotalEngagementsSummaryUnitEnum;\n    /**\n     * \n     * @type {string}\n     * @memberof TotalEngagementsSummary\n     */\n    unit_reference?: string;\n}\n\n/**\n* @export\n* @enum {string}\n*/\nexport enum TotalEngagementsSummaryUnitEnum {\n    minute = 'minute',\n    hour = 'hour',\n    day = 'day',\n    week = 'week',\n    month = 'month'\n}\n\n\n/**\n * Check if a given object implements the TotalEngagementsSummary interface.\n */\nexport function instanceOfTotalEngagementsSummary(value: object): value is TotalEngagementsSummary {\n    return true;\n}\n\nexport function TotalEngagementsSummaryFromJSON(json: any): TotalEngagementsSummary {\n    return TotalEngagementsSummaryFromJSONTyped(json, false);\n}\n\nexport function TotalEngagementsSummaryFromJSONTyped(json: any, ignoreDiscriminator: boolean): TotalEngagementsSummary {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'total_engagements': json['total_engagements'] == null ? undefined : json['total_engagements'],\n        'engagements': json['engagements'] == null ? undefined : EngagementFromJSON(json['engagements']),\n        'units': json['units'] == null ? undefined : json['units'],\n        'unit': json['unit'] == null ? undefined : json['unit'],\n        'unit_reference': json['unit_reference'] == null ? undefined : json['unit_reference'],\n    };\n}\n\nexport function TotalEngagementsSummaryToJSON(json: any): TotalEngagementsSummary {\n    return TotalEngagementsSummaryToJSONTyped(json, false);\n}\n\nexport function TotalEngagementsSummaryToJSONTyped(value?: TotalEngagementsSummary | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'total_engagements': value['total_engagements'],\n        'engagements': EngagementToJSON(value['engagements']),\n        'units': value['units'],\n        'unit': value['unit'],\n        'unit_reference': value['unit_reference'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 BadRequest,\n    BadRequestFromJSON,\n    BadRequestToJSON,\n} from '../models/BadRequest';\nimport {\n    type BitlinkBody,\n    BitlinkBodyFromJSON,\n    BitlinkBodyToJSON,\n} from '../models/BitlinkBody';\nimport {\n    type BitlinkUpdateBody,\n    BitlinkUpdateBodyFromJSON,\n    BitlinkUpdateBodyToJSON,\n} from '../models/BitlinkUpdateBody';\nimport {\n    type Bitlinks,\n    BitlinksFromJSON,\n    BitlinksToJSON,\n} from '../models/Bitlinks';\nimport {\n    type BulkUpdate,\n    BulkUpdateFromJSON,\n    BulkUpdateToJSON,\n} from '../models/BulkUpdate';\nimport {\n    type BulkUpdateRequest,\n    BulkUpdateRequestFromJSON,\n    BulkUpdateRequestToJSON,\n} from '../models/BulkUpdateRequest';\nimport {\n    type CityMetrics,\n    CityMetricsFromJSON,\n    CityMetricsToJSON,\n} from '../models/CityMetrics';\nimport {\n    type ClickMetrics,\n    ClickMetricsFromJSON,\n    ClickMetricsToJSON,\n} from '../models/ClickMetrics';\nimport {\n    type Clicks,\n    ClicksFromJSON,\n    ClicksToJSON,\n} from '../models/Clicks';\nimport {\n    type ClicksSummary,\n    ClicksSummaryFromJSON,\n    ClicksSummaryToJSON,\n} from '../models/ClicksSummary';\nimport {\n    type Conflict,\n    ConflictFromJSON,\n    ConflictToJSON,\n} from '../models/Conflict';\nimport {\n    type DeviceMetrics,\n    DeviceMetricsFromJSON,\n    DeviceMetricsToJSON,\n} from '../models/DeviceMetrics';\nimport {\n    type ExpandBitlink,\n    ExpandBitlinkFromJSON,\n    ExpandBitlinkToJSON,\n} from '../models/ExpandBitlink';\nimport {\n    type ExpandedBitlink,\n    ExpandedBitlinkFromJSON,\n    ExpandedBitlinkToJSON,\n} from '../models/ExpandedBitlink';\nimport {\n    type ExpectationFailed,\n    ExpectationFailedFromJSON,\n    ExpectationFailedToJSON,\n} from '../models/ExpectationFailed';\nimport {\n    type Forbidden,\n    ForbiddenFromJSON,\n    ForbiddenToJSON,\n} from '../models/Forbidden';\nimport {\n    type FullShorten,\n    FullShortenFromJSON,\n    FullShortenToJSON,\n} from '../models/FullShorten';\nimport {\n    type Gone,\n    GoneFromJSON,\n    GoneToJSON,\n} from '../models/Gone';\nimport {\n    type InternalError,\n    InternalErrorFromJSON,\n    InternalErrorToJSON,\n} from '../models/InternalError';\nimport {\n    type LinkDeletionResponse,\n    LinkDeletionResponseFromJSON,\n    LinkDeletionResponseToJSON,\n} from '../models/LinkDeletionResponse';\nimport {\n    type MonthlyLimitExceeded,\n    MonthlyLimitExceededFromJSON,\n    MonthlyLimitExceededToJSON,\n} from '../models/MonthlyLimitExceeded';\nimport {\n    type NotFound,\n    NotFoundFromJSON,\n    NotFoundToJSON,\n} from '../models/NotFound';\nimport {\n    type ReferrersByDomains,\n    ReferrersByDomainsFromJSON,\n    ReferrersByDomainsToJSON,\n} from '../models/ReferrersByDomains';\nimport {\n    type Shorten,\n    ShortenFromJSON,\n    ShortenToJSON,\n} from '../models/Shorten';\nimport {\n    type ShortenBitlinkBody,\n    ShortenBitlinkBodyFromJSON,\n    ShortenBitlinkBodyToJSON,\n} from '../models/ShortenBitlinkBody';\nimport {\n    type SortedLinks,\n    SortedLinksFromJSON,\n    SortedLinksToJSON,\n} from '../models/SortedLinks';\nimport {\n    type TemporarilyUnavailable,\n    TemporarilyUnavailableFromJSON,\n    TemporarilyUnavailableToJSON,\n} from '../models/TemporarilyUnavailable';\nimport {\n    type TimeUnit,\n    TimeUnitFromJSON,\n    TimeUnitToJSON,\n} from '../models/TimeUnit';\nimport {\n    type TopLinksAndQRCodes,\n    TopLinksAndQRCodesFromJSON,\n    TopLinksAndQRCodesToJSON,\n} from '../models/TopLinksAndQRCodes';\nimport {\n    type TotalEngagements,\n    TotalEngagementsFromJSON,\n    TotalEngagementsToJSON,\n} from '../models/TotalEngagements';\nimport {\n    type TotalEngagementsSummary,\n    TotalEngagementsSummaryFromJSON,\n    TotalEngagementsSummaryToJSON,\n} from '../models/TotalEngagementsSummary';\nimport {\n    type UnprocessableEntity,\n    UnprocessableEntityFromJSON,\n    UnprocessableEntityToJSON,\n} from '../models/UnprocessableEntity';\nimport {\n    type UpgradeRequired,\n    UpgradeRequiredFromJSON,\n    UpgradeRequiredToJSON,\n} from '../models/UpgradeRequired';\n\nexport interface CreateBitlinkRequest {\n    shorten: Shorten;\n}\n\nexport interface CreateFullBitlinkRequest {\n    full_shorten: FullShorten;\n}\n\nexport interface DeleteBitlinkRequest {\n    bitlink: string;\n}\n\nexport interface ExpandBitlinkRequest {\n    expand_bitlink: ExpandBitlink;\n}\n\nexport interface GetBitlinkRequest {\n    bitlink: string;\n}\n\nexport interface GetBitlinksByGroupRequest {\n    group_guid: string;\n    size?: number;\n    search_after?: string;\n    query?: string;\n    hostname_path_query?: string;\n    created_before?: number;\n    created_after?: number;\n    archived?: GetBitlinksByGroupArchivedEnum;\n    deeplinks?: GetBitlinksByGroupDeeplinksEnum;\n    domain_deeplinks?: GetBitlinksByGroupDomainDeeplinksEnum;\n    campaign_guid?: string;\n    channel_guid?: string;\n    custom_bitlink?: GetBitlinksByGroupCustomBitlinkEnum;\n    has_qr_codes?: GetBitlinksByGroupHasQrCodesEnum;\n    is_expired?: GetBitlinksByGroupIsExpiredEnum;\n    has_expiration?: GetBitlinksByGroupHasExpirationEnum;\n    tags?: Array<string>;\n    launchpad_ids?: Array<string>;\n    encoding_login?: Array<string>;\n}\n\nexport interface GetClicksForBitlinkRequest {\n    bitlink: string;\n    unit: TimeUnit;\n    units: number;\n    unit_reference?: string;\n}\n\nexport interface GetClicksSummaryForBitlinkRequest {\n    bitlink: string;\n    unit: TimeUnit;\n    units: number;\n    unit_reference?: string;\n}\n\nexport interface GetEngagementsRequest {\n    bitlink: string;\n    unit: TimeUnit;\n    units: number;\n    unit_reference?: string;\n}\n\nexport interface GetEngagementsSummaryRequest {\n    bitlink: string;\n    unit: TimeUnit;\n    units: number;\n    unit_reference?: string;\n}\n\nexport interface GetMetricsForBitlinkByCitiesRequest {\n    bitlink: string;\n    unit: TimeUnit;\n    units: number;\n    size?: number;\n    unit_reference?: string;\n}\n\nexport interface GetMetricsForBitlinkByCountriesRequest {\n    bitlink: string;\n    unit: TimeUnit;\n    units: number;\n    size?: number;\n    unit_reference?: string;\n}\n\nexport interface GetMetricsForBitlinkByDevicesRequest {\n    bitlink: string;\n    unit: TimeUnit;\n    units: number;\n    size?: number;\n    unit_reference?: string;\n}\n\nexport interface GetMetricsForBitlinkByReferrerNameRequest {\n    bitlink: string;\n    unit: TimeUnit;\n    units: number;\n    size?: number;\n    unit_reference?: string;\n}\n\nexport interface GetMetricsForBitlinkByReferrersRequest {\n    bitlink: string;\n    unit: TimeUnit;\n    units: number;\n    size?: number;\n    unit_reference?: string;\n}\n\nexport interface GetMetricsForBitlinkByReferrersByDomainsRequest {\n    bitlink: string;\n    unit: TimeUnit;\n    units: number;\n    size?: number;\n    unit_reference?: string;\n}\n\nexport interface GetMetricsForBitlinkByReferringDomainsRequest {\n    bitlink: string;\n    unit: TimeUnit;\n    units: number;\n    size?: number;\n    unit_reference?: string;\n}\n\nexport interface GetSortedBitlinksRequest {\n    group_guid: string;\n    sort: GetSortedBitlinksSortEnum;\n    unit?: TimeUnit;\n    units?: number;\n    unit_reference?: string;\n    size?: number;\n}\n\nexport interface GetTopLinksAndQRCodesByEngagementsRequest {\n    group_guid: string;\n    unit?: TimeUnit;\n    units?: number;\n    unit_reference?: string;\n    size?: number;\n}\n\nexport interface UpdateBitlinkRequest {\n    bitlink: string;\n    bitlink_update_body: BitlinkUpdateBody;\n}\n\nexport interface UpdateBitlinksByGroupRequest {\n    group_guid: string;\n    bulk_update_request: BulkUpdateRequest;\n}\n\n/**\n * \n */\nexport class BitlinksApi extends runtime.BaseAPI {\n\n    /**\n     * Creates request options for createBitlink without sending the request\n     */\n    async createBitlinkRequestOpts(requestParameters: CreateBitlinkRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['shorten'] == null) {\n            throw new runtime.RequiredError(\n                'shorten',\n                'Required parameter \"shorten\" was null or undefined when calling createBitlink().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        headerParameters['Content-Type'] = 'application/json';\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/shorten`;\n\n        return {\n            path: urlPath,\n            method: 'POST',\n            headers: headerParameters,\n            query: queryParameters,\n            body: ShortenToJSON(requestParameters['shorten']),\n        };\n    }\n\n    /**\n     * Converts a long url to a Bitlink. You may see errors returned from this endpoint - \\\"BRANDED_LINK_MONTHLY_LIMIT_EXCEEDED\\\" occurs if you have shortened more links than your account is configured for for the month, and \\\"DNS_CONFIGURATION_ERROR\\\" occurs if you are attempting to shorten links against a custom domain which doesn\\'t have DNS properly configured.\n     * Shorten a Link\n     */\n    async createBitlinkRaw(requestParameters: CreateBitlinkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ShortenBitlinkBody>> {\n        const requestOptions = await this.createBitlinkRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => ShortenBitlinkBodyFromJSON(jsonValue));\n    }\n\n    /**\n     * Converts a long url to a Bitlink. You may see errors returned from this endpoint - \\\"BRANDED_LINK_MONTHLY_LIMIT_EXCEEDED\\\" occurs if you have shortened more links than your account is configured for for the month, and \\\"DNS_CONFIGURATION_ERROR\\\" occurs if you are attempting to shorten links against a custom domain which doesn\\'t have DNS properly configured.\n     * Shorten a Link\n     */\n    async createBitlink(requestParameters: CreateBitlinkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ShortenBitlinkBody> {\n        const response = await this.createBitlinkRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for createFullBitlink without sending the request\n     */\n    async createFullBitlinkRequestOpts(requestParameters: CreateFullBitlinkRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['full_shorten'] == null) {\n            throw new runtime.RequiredError(\n                'full_shorten',\n                'Required parameter \"full_shorten\" was null or undefined when calling createFullBitlink().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        headerParameters['Content-Type'] = 'application/json';\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/bitlinks`;\n\n        return {\n            path: urlPath,\n            method: 'POST',\n            headers: headerParameters,\n            query: queryParameters,\n            body: FullShortenToJSON(requestParameters['full_shorten']),\n        };\n    }\n\n    /**\n     * Converts a long url to a Bitlink and sets additional parameters. You may see errors returned from this endpoint - \\\"BRANDED_LINK_MONTHLY_LIMIT_EXCEEDED\\\" occurs if you have shortened more links than your account is configured for for the month, and \\\"DNS_CONFIGURATION_ERROR\\\" occurs if you are attempting to shorten links against a custom domain which doesn\\'t have DNS properly configured.\n     * Create a Bitlink\n     */\n    async createFullBitlinkRaw(requestParameters: CreateFullBitlinkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<BitlinkBody>> {\n        const requestOptions = await this.createFullBitlinkRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => BitlinkBodyFromJSON(jsonValue));\n    }\n\n    /**\n     * Converts a long url to a Bitlink and sets additional parameters. You may see errors returned from this endpoint - \\\"BRANDED_LINK_MONTHLY_LIMIT_EXCEEDED\\\" occurs if you have shortened more links than your account is configured for for the month, and \\\"DNS_CONFIGURATION_ERROR\\\" occurs if you are attempting to shorten links against a custom domain which doesn\\'t have DNS properly configured.\n     * Create a Bitlink\n     */\n    async createFullBitlink(requestParameters: CreateFullBitlinkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<BitlinkBody> {\n        const response = await this.createFullBitlinkRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for deleteBitlink without sending the request\n     */\n    async deleteBitlinkRequestOpts(requestParameters: DeleteBitlinkRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['bitlink'] == null) {\n            throw new runtime.RequiredError(\n                'bitlink',\n                'Required parameter \"bitlink\" was null or undefined when calling deleteBitlink().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/bitlinks/{bitlink}`;\n        urlPath = urlPath.replace('{bitlink}', encodeURIComponent(String(requestParameters['bitlink'])));\n\n        return {\n            path: urlPath,\n            method: 'DELETE',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Delete an unedited hash Bitlink.\n     * Delete a Bitlink\n     */\n    async deleteBitlinkRaw(requestParameters: DeleteBitlinkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<LinkDeletionResponse>> {\n        const requestOptions = await this.deleteBitlinkRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => LinkDeletionResponseFromJSON(jsonValue));\n    }\n\n    /**\n     * Delete an unedited hash Bitlink.\n     * Delete a Bitlink\n     */\n    async deleteBitlink(requestParameters: DeleteBitlinkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<LinkDeletionResponse> {\n        const response = await this.deleteBitlinkRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for expandBitlink without sending the request\n     */\n    async expandBitlinkRequestOpts(requestParameters: ExpandBitlinkRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['expand_bitlink'] == null) {\n            throw new runtime.RequiredError(\n                'expand_bitlink',\n                'Required parameter \"expand_bitlink\" was null or undefined when calling expandBitlink().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        headerParameters['Content-Type'] = 'application/json';\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/expand`;\n\n        return {\n            path: urlPath,\n            method: 'POST',\n            headers: headerParameters,\n            query: queryParameters,\n            body: ExpandBitlinkToJSON(requestParameters['expand_bitlink']),\n        };\n    }\n\n    /**\n     * Returns the short link and long URL for the specified link.\n     * Expand a Bitlink\n     */\n    async expandBitlinkRaw(requestParameters: ExpandBitlinkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ExpandedBitlink>> {\n        const requestOptions = await this.expandBitlinkRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => ExpandedBitlinkFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns the short link and long URL for the specified link.\n     * Expand a Bitlink\n     */\n    async expandBitlink(requestParameters: ExpandBitlinkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ExpandedBitlink> {\n        const response = await this.expandBitlinkRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getBitlink without sending the request\n     */\n    async getBitlinkRequestOpts(requestParameters: GetBitlinkRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['bitlink'] == null) {\n            throw new runtime.RequiredError(\n                'bitlink',\n                'Required parameter \"bitlink\" was null or undefined when calling getBitlink().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/bitlinks/{bitlink}`;\n        urlPath = urlPath.replace('{bitlink}', encodeURIComponent(String(requestParameters['bitlink'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns information for the specified link.\n     * Retrieve a Bitlink\n     */\n    async getBitlinkRaw(requestParameters: GetBitlinkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<BitlinkBody>> {\n        const requestOptions = await this.getBitlinkRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => BitlinkBodyFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns information for the specified link.\n     * Retrieve a Bitlink\n     */\n    async getBitlink(requestParameters: GetBitlinkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<BitlinkBody> {\n        const response = await this.getBitlinkRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getBitlinksByGroup without sending the request\n     */\n    async getBitlinksByGroupRequestOpts(requestParameters: GetBitlinksByGroupRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['group_guid'] == null) {\n            throw new runtime.RequiredError(\n                'group_guid',\n                'Required parameter \"group_guid\" was null or undefined when calling getBitlinksByGroup().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['size'] != null) {\n            queryParameters['size'] = requestParameters['size'];\n        }\n\n        if (requestParameters['search_after'] != null) {\n            queryParameters['search_after'] = requestParameters['search_after'];\n        }\n\n        if (requestParameters['query'] != null) {\n            queryParameters['query'] = requestParameters['query'];\n        }\n\n        if (requestParameters['hostname_path_query'] != null) {\n            queryParameters['hostname_path_query'] = requestParameters['hostname_path_query'];\n        }\n\n        if (requestParameters['created_before'] != null) {\n            queryParameters['created_before'] = requestParameters['created_before'];\n        }\n\n        if (requestParameters['created_after'] != null) {\n            queryParameters['created_after'] = requestParameters['created_after'];\n        }\n\n        if (requestParameters['archived'] != null) {\n            queryParameters['archived'] = requestParameters['archived'];\n        }\n\n        if (requestParameters['deeplinks'] != null) {\n            queryParameters['deeplinks'] = requestParameters['deeplinks'];\n        }\n\n        if (requestParameters['domain_deeplinks'] != null) {\n            queryParameters['domain_deeplinks'] = requestParameters['domain_deeplinks'];\n        }\n\n        if (requestParameters['campaign_guid'] != null) {\n            queryParameters['campaign_guid'] = requestParameters['campaign_guid'];\n        }\n\n        if (requestParameters['channel_guid'] != null) {\n            queryParameters['channel_guid'] = requestParameters['channel_guid'];\n        }\n\n        if (requestParameters['custom_bitlink'] != null) {\n            queryParameters['custom_bitlink'] = requestParameters['custom_bitlink'];\n        }\n\n        if (requestParameters['has_qr_codes'] != null) {\n            queryParameters['has_qr_codes'] = requestParameters['has_qr_codes'];\n        }\n\n        if (requestParameters['is_expired'] != null) {\n            queryParameters['is_expired'] = requestParameters['is_expired'];\n        }\n\n        if (requestParameters['has_expiration'] != null) {\n            queryParameters['has_expiration'] = requestParameters['has_expiration'];\n        }\n\n        if (requestParameters['tags'] != null) {\n            queryParameters['tags'] = requestParameters['tags'];\n        }\n\n        if (requestParameters['launchpad_ids'] != null) {\n            queryParameters['launchpad_ids'] = requestParameters['launchpad_ids'];\n        }\n\n        if (requestParameters['encoding_login'] != null) {\n            queryParameters['encoding_login'] = requestParameters['encoding_login'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/groups/{group_guid}/bitlinks`;\n        urlPath = urlPath.replace('{group_guid}', encodeURIComponent(String(requestParameters['group_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns a paginated collection of Bitlinks for a group. The list of custom bitlinks has newest entries first.\n     * Retrieve Bitlinks by Group\n     */\n    async getBitlinksByGroupRaw(requestParameters: GetBitlinksByGroupRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Bitlinks>> {\n        const requestOptions = await this.getBitlinksByGroupRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => BitlinksFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns a paginated collection of Bitlinks for a group. The list of custom bitlinks has newest entries first.\n     * Retrieve Bitlinks by Group\n     */\n    async getBitlinksByGroup(requestParameters: GetBitlinksByGroupRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Bitlinks> {\n        const response = await this.getBitlinksByGroupRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getClicksForBitlink without sending the request\n     */\n    async getClicksForBitlinkRequestOpts(requestParameters: GetClicksForBitlinkRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['bitlink'] == null) {\n            throw new runtime.RequiredError(\n                'bitlink',\n                'Required parameter \"bitlink\" was null or undefined when calling getClicksForBitlink().'\n            );\n        }\n\n        if (requestParameters['unit'] == null) {\n            throw new runtime.RequiredError(\n                'unit',\n                'Required parameter \"unit\" was null or undefined when calling getClicksForBitlink().'\n            );\n        }\n\n        if (requestParameters['units'] == null) {\n            throw new runtime.RequiredError(\n                'units',\n                'Required parameter \"units\" was null or undefined when calling getClicksForBitlink().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['unit'] != null) {\n            queryParameters['unit'] = requestParameters['unit'];\n        }\n\n        if (requestParameters['units'] != null) {\n            queryParameters['units'] = requestParameters['units'];\n        }\n\n        if (requestParameters['unit_reference'] != null) {\n            queryParameters['unit_reference'] = requestParameters['unit_reference'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/bitlinks/{bitlink}/clicks`;\n        urlPath = urlPath.replace('{bitlink}', encodeURIComponent(String(requestParameters['bitlink'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns the click counts for the specified link in an array based on a date.\n     * Get Clicks for a Bitlink\n     */\n    async getClicksForBitlinkRaw(requestParameters: GetClicksForBitlinkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Clicks>> {\n        const requestOptions = await this.getClicksForBitlinkRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => ClicksFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns the click counts for the specified link in an array based on a date.\n     * Get Clicks for a Bitlink\n     */\n    async getClicksForBitlink(requestParameters: GetClicksForBitlinkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Clicks> {\n        const response = await this.getClicksForBitlinkRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getClicksSummaryForBitlink without sending the request\n     */\n    async getClicksSummaryForBitlinkRequestOpts(requestParameters: GetClicksSummaryForBitlinkRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['bitlink'] == null) {\n            throw new runtime.RequiredError(\n                'bitlink',\n                'Required parameter \"bitlink\" was null or undefined when calling getClicksSummaryForBitlink().'\n            );\n        }\n\n        if (requestParameters['unit'] == null) {\n            throw new runtime.RequiredError(\n                'unit',\n                'Required parameter \"unit\" was null or undefined when calling getClicksSummaryForBitlink().'\n            );\n        }\n\n        if (requestParameters['units'] == null) {\n            throw new runtime.RequiredError(\n                'units',\n                'Required parameter \"units\" was null or undefined when calling getClicksSummaryForBitlink().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['unit'] != null) {\n            queryParameters['unit'] = requestParameters['unit'];\n        }\n\n        if (requestParameters['units'] != null) {\n            queryParameters['units'] = requestParameters['units'];\n        }\n\n        if (requestParameters['unit_reference'] != null) {\n            queryParameters['unit_reference'] = requestParameters['unit_reference'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/bitlinks/{bitlink}/clicks/summary`;\n        urlPath = urlPath.replace('{bitlink}', encodeURIComponent(String(requestParameters['bitlink'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns the click counts for the specified link rolled up into a single field.\n     * Get a Clicks Summary for a Bitlink\n     */\n    async getClicksSummaryForBitlinkRaw(requestParameters: GetClicksSummaryForBitlinkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ClicksSummary>> {\n        const requestOptions = await this.getClicksSummaryForBitlinkRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => ClicksSummaryFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns the click counts for the specified link rolled up into a single field.\n     * Get a Clicks Summary for a Bitlink\n     */\n    async getClicksSummaryForBitlink(requestParameters: GetClicksSummaryForBitlinkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ClicksSummary> {\n        const response = await this.getClicksSummaryForBitlinkRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getEngagements without sending the request\n     */\n    async getEngagementsRequestOpts(requestParameters: GetEngagementsRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['bitlink'] == null) {\n            throw new runtime.RequiredError(\n                'bitlink',\n                'Required parameter \"bitlink\" was null or undefined when calling getEngagements().'\n            );\n        }\n\n        if (requestParameters['unit'] == null) {\n            throw new runtime.RequiredError(\n                'unit',\n                'Required parameter \"unit\" was null or undefined when calling getEngagements().'\n            );\n        }\n\n        if (requestParameters['units'] == null) {\n            throw new runtime.RequiredError(\n                'units',\n                'Required parameter \"units\" was null or undefined when calling getEngagements().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['unit'] != null) {\n            queryParameters['unit'] = requestParameters['unit'];\n        }\n\n        if (requestParameters['units'] != null) {\n            queryParameters['units'] = requestParameters['units'];\n        }\n\n        if (requestParameters['unit_reference'] != null) {\n            queryParameters['unit_reference'] = requestParameters['unit_reference'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/bitlinks/{bitlink}/engagements`;\n        urlPath = urlPath.replace('{bitlink}', encodeURIComponent(String(requestParameters['bitlink'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns an array of engagement counts for the specified link. The array is comprised of button click, click and scan counts for each time window, where the window is based on the provided unit.\n     * Get Engagement Counts for a Bitlink\n     */\n    async getEngagementsRaw(requestParameters: GetEngagementsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TotalEngagements>> {\n        const requestOptions = await this.getEngagementsRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => TotalEngagementsFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns an array of engagement counts for the specified link. The array is comprised of button click, click and scan counts for each time window, where the window is based on the provided unit.\n     * Get Engagement Counts for a Bitlink\n     */\n    async getEngagements(requestParameters: GetEngagementsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TotalEngagements> {\n        const response = await this.getEngagementsRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getEngagementsSummary without sending the request\n     */\n    async getEngagementsSummaryRequestOpts(requestParameters: GetEngagementsSummaryRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['bitlink'] == null) {\n            throw new runtime.RequiredError(\n                'bitlink',\n                'Required parameter \"bitlink\" was null or undefined when calling getEngagementsSummary().'\n            );\n        }\n\n        if (requestParameters['unit'] == null) {\n            throw new runtime.RequiredError(\n                'unit',\n                'Required parameter \"unit\" was null or undefined when calling getEngagementsSummary().'\n            );\n        }\n\n        if (requestParameters['units'] == null) {\n            throw new runtime.RequiredError(\n                'units',\n                'Required parameter \"units\" was null or undefined when calling getEngagementsSummary().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['unit'] != null) {\n            queryParameters['unit'] = requestParameters['unit'];\n        }\n\n        if (requestParameters['units'] != null) {\n            queryParameters['units'] = requestParameters['units'];\n        }\n\n        if (requestParameters['unit_reference'] != null) {\n            queryParameters['unit_reference'] = requestParameters['unit_reference'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/bitlinks/{bitlink}/engagements/summary`;\n        urlPath = urlPath.replace('{bitlink}', encodeURIComponent(String(requestParameters['bitlink'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns the engagement counts for the specified link rolled up into a single field.\n     * Get an Engagement Count Summary for a Bitlink\n     */\n    async getEngagementsSummaryRaw(requestParameters: GetEngagementsSummaryRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TotalEngagementsSummary>> {\n        const requestOptions = await this.getEngagementsSummaryRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => TotalEngagementsSummaryFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns the engagement counts for the specified link rolled up into a single field.\n     * Get an Engagement Count Summary for a Bitlink\n     */\n    async getEngagementsSummary(requestParameters: GetEngagementsSummaryRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TotalEngagementsSummary> {\n        const response = await this.getEngagementsSummaryRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getMetricsForBitlinkByCities without sending the request\n     */\n    async getMetricsForBitlinkByCitiesRequestOpts(requestParameters: GetMetricsForBitlinkByCitiesRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['bitlink'] == null) {\n            throw new runtime.RequiredError(\n                'bitlink',\n                'Required parameter \"bitlink\" was null or undefined when calling getMetricsForBitlinkByCities().'\n            );\n        }\n\n        if (requestParameters['unit'] == null) {\n            throw new runtime.RequiredError(\n                'unit',\n                'Required parameter \"unit\" was null or undefined when calling getMetricsForBitlinkByCities().'\n            );\n        }\n\n        if (requestParameters['units'] == null) {\n            throw new runtime.RequiredError(\n                'units',\n                'Required parameter \"units\" was null or undefined when calling getMetricsForBitlinkByCities().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['unit'] != null) {\n            queryParameters['unit'] = requestParameters['unit'];\n        }\n\n        if (requestParameters['units'] != null) {\n            queryParameters['units'] = requestParameters['units'];\n        }\n\n        if (requestParameters['size'] != null) {\n            queryParameters['size'] = requestParameters['size'];\n        }\n\n        if (requestParameters['unit_reference'] != null) {\n            queryParameters['unit_reference'] = requestParameters['unit_reference'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/bitlinks/{bitlink}/cities`;\n        urlPath = urlPath.replace('{bitlink}', encodeURIComponent(String(requestParameters['bitlink'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns the city origins of click traffic for the specified link.\n     * Get Metrics for a Bitlink by City\n     */\n    async getMetricsForBitlinkByCitiesRaw(requestParameters: GetMetricsForBitlinkByCitiesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CityMetrics>> {\n        const requestOptions = await this.getMetricsForBitlinkByCitiesRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => CityMetricsFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns the city origins of click traffic for the specified link.\n     * Get Metrics for a Bitlink by City\n     */\n    async getMetricsForBitlinkByCities(requestParameters: GetMetricsForBitlinkByCitiesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CityMetrics> {\n        const response = await this.getMetricsForBitlinkByCitiesRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getMetricsForBitlinkByCountries without sending the request\n     */\n    async getMetricsForBitlinkByCountriesRequestOpts(requestParameters: GetMetricsForBitlinkByCountriesRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['bitlink'] == null) {\n            throw new runtime.RequiredError(\n                'bitlink',\n                'Required parameter \"bitlink\" was null or undefined when calling getMetricsForBitlinkByCountries().'\n            );\n        }\n\n        if (requestParameters['unit'] == null) {\n            throw new runtime.RequiredError(\n                'unit',\n                'Required parameter \"unit\" was null or undefined when calling getMetricsForBitlinkByCountries().'\n            );\n        }\n\n        if (requestParameters['units'] == null) {\n            throw new runtime.RequiredError(\n                'units',\n                'Required parameter \"units\" was null or undefined when calling getMetricsForBitlinkByCountries().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['unit'] != null) {\n            queryParameters['unit'] = requestParameters['unit'];\n        }\n\n        if (requestParameters['units'] != null) {\n            queryParameters['units'] = requestParameters['units'];\n        }\n\n        if (requestParameters['size'] != null) {\n            queryParameters['size'] = requestParameters['size'];\n        }\n\n        if (requestParameters['unit_reference'] != null) {\n            queryParameters['unit_reference'] = requestParameters['unit_reference'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/bitlinks/{bitlink}/countries`;\n        urlPath = urlPath.replace('{bitlink}', encodeURIComponent(String(requestParameters['bitlink'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns the country origins of click traffic for the specified link.\n     * Get Metrics for a Bitlink by Country\n     */\n    async getMetricsForBitlinkByCountriesRaw(requestParameters: GetMetricsForBitlinkByCountriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ClickMetrics>> {\n        const requestOptions = await this.getMetricsForBitlinkByCountriesRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => ClickMetricsFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns the country origins of click traffic for the specified link.\n     * Get Metrics for a Bitlink by Country\n     */\n    async getMetricsForBitlinkByCountries(requestParameters: GetMetricsForBitlinkByCountriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ClickMetrics> {\n        const response = await this.getMetricsForBitlinkByCountriesRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getMetricsForBitlinkByDevices without sending the request\n     */\n    async getMetricsForBitlinkByDevicesRequestOpts(requestParameters: GetMetricsForBitlinkByDevicesRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['bitlink'] == null) {\n            throw new runtime.RequiredError(\n                'bitlink',\n                'Required parameter \"bitlink\" was null or undefined when calling getMetricsForBitlinkByDevices().'\n            );\n        }\n\n        if (requestParameters['unit'] == null) {\n            throw new runtime.RequiredError(\n                'unit',\n                'Required parameter \"unit\" was null or undefined when calling getMetricsForBitlinkByDevices().'\n            );\n        }\n\n        if (requestParameters['units'] == null) {\n            throw new runtime.RequiredError(\n                'units',\n                'Required parameter \"units\" was null or undefined when calling getMetricsForBitlinkByDevices().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['unit'] != null) {\n            queryParameters['unit'] = requestParameters['unit'];\n        }\n\n        if (requestParameters['units'] != null) {\n            queryParameters['units'] = requestParameters['units'];\n        }\n\n        if (requestParameters['size'] != null) {\n            queryParameters['size'] = requestParameters['size'];\n        }\n\n        if (requestParameters['unit_reference'] != null) {\n            queryParameters['unit_reference'] = requestParameters['unit_reference'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/bitlinks/{bitlink}/devices`;\n        urlPath = urlPath.replace('{bitlink}', encodeURIComponent(String(requestParameters['bitlink'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns the device types generating click traffic to the specified link.\n     * Get Metrics for a Bitlink by Device Type\n     */\n    async getMetricsForBitlinkByDevicesRaw(requestParameters: GetMetricsForBitlinkByDevicesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DeviceMetrics>> {\n        const requestOptions = await this.getMetricsForBitlinkByDevicesRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => DeviceMetricsFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns the device types generating click traffic to the specified link.\n     * Get Metrics for a Bitlink by Device Type\n     */\n    async getMetricsForBitlinkByDevices(requestParameters: GetMetricsForBitlinkByDevicesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DeviceMetrics> {\n        const response = await this.getMetricsForBitlinkByDevicesRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getMetricsForBitlinkByReferrerName without sending the request\n     */\n    async getMetricsForBitlinkByReferrerNameRequestOpts(requestParameters: GetMetricsForBitlinkByReferrerNameRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['bitlink'] == null) {\n            throw new runtime.RequiredError(\n                'bitlink',\n                'Required parameter \"bitlink\" was null or undefined when calling getMetricsForBitlinkByReferrerName().'\n            );\n        }\n\n        if (requestParameters['unit'] == null) {\n            throw new runtime.RequiredError(\n                'unit',\n                'Required parameter \"unit\" was null or undefined when calling getMetricsForBitlinkByReferrerName().'\n            );\n        }\n\n        if (requestParameters['units'] == null) {\n            throw new runtime.RequiredError(\n                'units',\n                'Required parameter \"units\" was null or undefined when calling getMetricsForBitlinkByReferrerName().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['unit'] != null) {\n            queryParameters['unit'] = requestParameters['unit'];\n        }\n\n        if (requestParameters['units'] != null) {\n            queryParameters['units'] = requestParameters['units'];\n        }\n\n        if (requestParameters['size'] != null) {\n            queryParameters['size'] = requestParameters['size'];\n        }\n\n        if (requestParameters['unit_reference'] != null) {\n            queryParameters['unit_reference'] = requestParameters['unit_reference'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/bitlinks/{bitlink}/referrer_name`;\n        urlPath = urlPath.replace('{bitlink}', encodeURIComponent(String(requestParameters['bitlink'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns referrer click counts for the specified link.\n     * Get Metrics for a Bitlink by Referrer Name\n     */\n    async getMetricsForBitlinkByReferrerNameRaw(requestParameters: GetMetricsForBitlinkByReferrerNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ClickMetrics>> {\n        const requestOptions = await this.getMetricsForBitlinkByReferrerNameRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => ClickMetricsFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns referrer click counts for the specified link.\n     * Get Metrics for a Bitlink by Referrer Name\n     */\n    async getMetricsForBitlinkByReferrerName(requestParameters: GetMetricsForBitlinkByReferrerNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ClickMetrics> {\n        const response = await this.getMetricsForBitlinkByReferrerNameRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getMetricsForBitlinkByReferrers without sending the request\n     */\n    async getMetricsForBitlinkByReferrersRequestOpts(requestParameters: GetMetricsForBitlinkByReferrersRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['bitlink'] == null) {\n            throw new runtime.RequiredError(\n                'bitlink',\n                'Required parameter \"bitlink\" was null or undefined when calling getMetricsForBitlinkByReferrers().'\n            );\n        }\n\n        if (requestParameters['unit'] == null) {\n            throw new runtime.RequiredError(\n                'unit',\n                'Required parameter \"unit\" was null or undefined when calling getMetricsForBitlinkByReferrers().'\n            );\n        }\n\n        if (requestParameters['units'] == null) {\n            throw new runtime.RequiredError(\n                'units',\n                'Required parameter \"units\" was null or undefined when calling getMetricsForBitlinkByReferrers().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['unit'] != null) {\n            queryParameters['unit'] = requestParameters['unit'];\n        }\n\n        if (requestParameters['units'] != null) {\n            queryParameters['units'] = requestParameters['units'];\n        }\n\n        if (requestParameters['size'] != null) {\n            queryParameters['size'] = requestParameters['size'];\n        }\n\n        if (requestParameters['unit_reference'] != null) {\n            queryParameters['unit_reference'] = requestParameters['unit_reference'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/bitlinks/{bitlink}/referrers`;\n        urlPath = urlPath.replace('{bitlink}', encodeURIComponent(String(requestParameters['bitlink'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns referrer click counts for the specified link.\n     * Get Metrics for a Bitlink by Referrers\n     */\n    async getMetricsForBitlinkByReferrersRaw(requestParameters: GetMetricsForBitlinkByReferrersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ClickMetrics>> {\n        const requestOptions = await this.getMetricsForBitlinkByReferrersRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => ClickMetricsFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns referrer click counts for the specified link.\n     * Get Metrics for a Bitlink by Referrers\n     */\n    async getMetricsForBitlinkByReferrers(requestParameters: GetMetricsForBitlinkByReferrersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ClickMetrics> {\n        const response = await this.getMetricsForBitlinkByReferrersRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getMetricsForBitlinkByReferrersByDomains without sending the request\n     */\n    async getMetricsForBitlinkByReferrersByDomainsRequestOpts(requestParameters: GetMetricsForBitlinkByReferrersByDomainsRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['bitlink'] == null) {\n            throw new runtime.RequiredError(\n                'bitlink',\n                'Required parameter \"bitlink\" was null or undefined when calling getMetricsForBitlinkByReferrersByDomains().'\n            );\n        }\n\n        if (requestParameters['unit'] == null) {\n            throw new runtime.RequiredError(\n                'unit',\n                'Required parameter \"unit\" was null or undefined when calling getMetricsForBitlinkByReferrersByDomains().'\n            );\n        }\n\n        if (requestParameters['units'] == null) {\n            throw new runtime.RequiredError(\n                'units',\n                'Required parameter \"units\" was null or undefined when calling getMetricsForBitlinkByReferrersByDomains().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['unit'] != null) {\n            queryParameters['unit'] = requestParameters['unit'];\n        }\n\n        if (requestParameters['units'] != null) {\n            queryParameters['units'] = requestParameters['units'];\n        }\n\n        if (requestParameters['size'] != null) {\n            queryParameters['size'] = requestParameters['size'];\n        }\n\n        if (requestParameters['unit_reference'] != null) {\n            queryParameters['unit_reference'] = requestParameters['unit_reference'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/bitlinks/{bitlink}/referrers_by_domains`;\n        urlPath = urlPath.replace('{bitlink}', encodeURIComponent(String(requestParameters['bitlink'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns click metrics grouped by referrers for the specified link.\n     * Get Metrics for a Bitlink by Referrers by Domain\n     */\n    async getMetricsForBitlinkByReferrersByDomainsRaw(requestParameters: GetMetricsForBitlinkByReferrersByDomainsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ReferrersByDomains>> {\n        const requestOptions = await this.getMetricsForBitlinkByReferrersByDomainsRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => ReferrersByDomainsFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns click metrics grouped by referrers for the specified link.\n     * Get Metrics for a Bitlink by Referrers by Domain\n     */\n    async getMetricsForBitlinkByReferrersByDomains(requestParameters: GetMetricsForBitlinkByReferrersByDomainsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ReferrersByDomains> {\n        const response = await this.getMetricsForBitlinkByReferrersByDomainsRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getMetricsForBitlinkByReferringDomains without sending the request\n     */\n    async getMetricsForBitlinkByReferringDomainsRequestOpts(requestParameters: GetMetricsForBitlinkByReferringDomainsRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['bitlink'] == null) {\n            throw new runtime.RequiredError(\n                'bitlink',\n                'Required parameter \"bitlink\" was null or undefined when calling getMetricsForBitlinkByReferringDomains().'\n            );\n        }\n\n        if (requestParameters['unit'] == null) {\n            throw new runtime.RequiredError(\n                'unit',\n                'Required parameter \"unit\" was null or undefined when calling getMetricsForBitlinkByReferringDomains().'\n            );\n        }\n\n        if (requestParameters['units'] == null) {\n            throw new runtime.RequiredError(\n                'units',\n                'Required parameter \"units\" was null or undefined when calling getMetricsForBitlinkByReferringDomains().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['unit'] != null) {\n            queryParameters['unit'] = requestParameters['unit'];\n        }\n\n        if (requestParameters['units'] != null) {\n            queryParameters['units'] = requestParameters['units'];\n        }\n\n        if (requestParameters['size'] != null) {\n            queryParameters['size'] = requestParameters['size'];\n        }\n\n        if (requestParameters['unit_reference'] != null) {\n            queryParameters['unit_reference'] = requestParameters['unit_reference'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/bitlinks/{bitlink}/referring_domains`;\n        urlPath = urlPath.replace('{bitlink}', encodeURIComponent(String(requestParameters['bitlink'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns the referring domain click counts for the specified link.\n     * Get Metrics for a Bitlink by Referring Domains\n     */\n    async getMetricsForBitlinkByReferringDomainsRaw(requestParameters: GetMetricsForBitlinkByReferringDomainsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ClickMetrics>> {\n        const requestOptions = await this.getMetricsForBitlinkByReferringDomainsRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => ClickMetricsFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns the referring domain click counts for the specified link.\n     * Get Metrics for a Bitlink by Referring Domains\n     */\n    async getMetricsForBitlinkByReferringDomains(requestParameters: GetMetricsForBitlinkByReferringDomainsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ClickMetrics> {\n        const response = await this.getMetricsForBitlinkByReferringDomainsRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getSortedBitlinks without sending the request\n     */\n    async getSortedBitlinksRequestOpts(requestParameters: GetSortedBitlinksRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['group_guid'] == null) {\n            throw new runtime.RequiredError(\n                'group_guid',\n                'Required parameter \"group_guid\" was null or undefined when calling getSortedBitlinks().'\n            );\n        }\n\n        if (requestParameters['sort'] == null) {\n            throw new runtime.RequiredError(\n                'sort',\n                'Required parameter \"sort\" was null or undefined when calling getSortedBitlinks().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['unit'] != null) {\n            queryParameters['unit'] = requestParameters['unit'];\n        }\n\n        if (requestParameters['units'] != null) {\n            queryParameters['units'] = requestParameters['units'];\n        }\n\n        if (requestParameters['unit_reference'] != null) {\n            queryParameters['unit_reference'] = requestParameters['unit_reference'];\n        }\n\n        if (requestParameters['size'] != null) {\n            queryParameters['size'] = requestParameters['size'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/groups/{group_guid}/bitlinks/{sort}`;\n        urlPath = urlPath.replace('{group_guid}', encodeURIComponent(String(requestParameters['group_guid'])));\n        urlPath = urlPath.replace('{sort}', encodeURIComponent(String(requestParameters['sort'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns a list of Bitlinks sorted by group. The list of custom bitlinks has newest entries first.\n     * Retrieve Sorted Bitlinks for Group\n     */\n    async getSortedBitlinksRaw(requestParameters: GetSortedBitlinksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SortedLinks>> {\n        const requestOptions = await this.getSortedBitlinksRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => SortedLinksFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns a list of Bitlinks sorted by group. The list of custom bitlinks has newest entries first.\n     * Retrieve Sorted Bitlinks for Group\n     */\n    async getSortedBitlinks(requestParameters: GetSortedBitlinksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SortedLinks> {\n        const response = await this.getSortedBitlinksRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getTopLinksAndQRCodesByEngagements without sending the request\n     */\n    async getTopLinksAndQRCodesByEngagementsRequestOpts(requestParameters: GetTopLinksAndQRCodesByEngagementsRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['group_guid'] == null) {\n            throw new runtime.RequiredError(\n                'group_guid',\n                'Required parameter \"group_guid\" was null or undefined when calling getTopLinksAndQRCodesByEngagements().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['unit'] != null) {\n            queryParameters['unit'] = requestParameters['unit'];\n        }\n\n        if (requestParameters['units'] != null) {\n            queryParameters['units'] = requestParameters['units'];\n        }\n\n        if (requestParameters['unit_reference'] != null) {\n            queryParameters['unit_reference'] = requestParameters['unit_reference'];\n        }\n\n        if (requestParameters['size'] != null) {\n            queryParameters['size'] = requestParameters['size'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/groups/{group_guid}/engagements/sorted/top`;\n        urlPath = urlPath.replace('{group_guid}', encodeURIComponent(String(requestParameters['group_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns the bitlinks and decoupled QR codes in a group with the most engagements over the requested time window, ranked together in descending order by engagement count. Bitlinks and decoupled QR codes are returned in separate lists; `sorted_links` preserves the unified descending-by-count ordering across both, with each entry\\'s id referencing either a bitlink or a QR code guid. \n     * Retrieve Top Links and Decoupled QR Codes by Engagements\n     */\n    async getTopLinksAndQRCodesByEngagementsRaw(requestParameters: GetTopLinksAndQRCodesByEngagementsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TopLinksAndQRCodes>> {\n        const requestOptions = await this.getTopLinksAndQRCodesByEngagementsRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => TopLinksAndQRCodesFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns the bitlinks and decoupled QR codes in a group with the most engagements over the requested time window, ranked together in descending order by engagement count. Bitlinks and decoupled QR codes are returned in separate lists; `sorted_links` preserves the unified descending-by-count ordering across both, with each entry\\'s id referencing either a bitlink or a QR code guid. \n     * Retrieve Top Links and Decoupled QR Codes by Engagements\n     */\n    async getTopLinksAndQRCodesByEngagements(requestParameters: GetTopLinksAndQRCodesByEngagementsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TopLinksAndQRCodes> {\n        const response = await this.getTopLinksAndQRCodesByEngagementsRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for updateBitlink without sending the request\n     */\n    async updateBitlinkRequestOpts(requestParameters: UpdateBitlinkRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['bitlink'] == null) {\n            throw new runtime.RequiredError(\n                'bitlink',\n                'Required parameter \"bitlink\" was null or undefined when calling updateBitlink().'\n            );\n        }\n\n        if (requestParameters['bitlink_update_body'] == null) {\n            throw new runtime.RequiredError(\n                'bitlink_update_body',\n                'Required parameter \"bitlink_update_body\" was null or undefined when calling updateBitlink().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        headerParameters['Content-Type'] = 'application/json';\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/bitlinks/{bitlink}`;\n        urlPath = urlPath.replace('{bitlink}', encodeURIComponent(String(requestParameters['bitlink'])));\n\n        return {\n            path: urlPath,\n            method: 'PATCH',\n            headers: headerParameters,\n            query: queryParameters,\n            body: BitlinkUpdateBodyToJSON(requestParameters['bitlink_update_body']),\n        };\n    }\n\n    /**\n     * Updates fields in the specified link. To redirect the link (i.e. to update the Long URL), use the long_url parameter. This will always charge an encode limit.\n     * Update a Bitlink\n     */\n    async updateBitlinkRaw(requestParameters: UpdateBitlinkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<BitlinkBody>> {\n        const requestOptions = await this.updateBitlinkRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => BitlinkBodyFromJSON(jsonValue));\n    }\n\n    /**\n     * Updates fields in the specified link. To redirect the link (i.e. to update the Long URL), use the long_url parameter. This will always charge an encode limit.\n     * Update a Bitlink\n     */\n    async updateBitlink(requestParameters: UpdateBitlinkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<BitlinkBody> {\n        const response = await this.updateBitlinkRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for updateBitlinksByGroup without sending the request\n     */\n    async updateBitlinksByGroupRequestOpts(requestParameters: UpdateBitlinksByGroupRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['group_guid'] == null) {\n            throw new runtime.RequiredError(\n                'group_guid',\n                'Required parameter \"group_guid\" was null or undefined when calling updateBitlinksByGroup().'\n            );\n        }\n\n        if (requestParameters['bulk_update_request'] == null) {\n            throw new runtime.RequiredError(\n                'bulk_update_request',\n                'Required parameter \"bulk_update_request\" was null or undefined when calling updateBitlinksByGroup().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        headerParameters['Content-Type'] = 'application/json';\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/groups/{group_guid}/bitlinks`;\n        urlPath = urlPath.replace('{group_guid}', encodeURIComponent(String(requestParameters['group_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'PATCH',\n            headers: headerParameters,\n            query: queryParameters,\n            body: BulkUpdateRequestToJSON(requestParameters['bulk_update_request']),\n        };\n    }\n\n    /**\n     * Bulk update can add or remove tags or archive up to 100 links at a time; The response includes a list of bitlink ids that were updated.\n     * Bulk update bitlinks\n     */\n    async updateBitlinksByGroupRaw(requestParameters: UpdateBitlinksByGroupRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<BulkUpdate>> {\n        const requestOptions = await this.updateBitlinksByGroupRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => BulkUpdateFromJSON(jsonValue));\n    }\n\n    /**\n     * Bulk update can add or remove tags or archive up to 100 links at a time; The response includes a list of bitlink ids that were updated.\n     * Bulk update bitlinks\n     */\n    async updateBitlinksByGroup(requestParameters: UpdateBitlinksByGroupRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<BulkUpdate> {\n        const response = await this.updateBitlinksByGroupRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n}\n\n/**\n  * @export\n  * @enum {string}\n  */\nexport enum GetBitlinksByGroupArchivedEnum {\n    on = 'on',\n    off = 'off',\n    both = 'both'\n}\n/**\n  * @export\n  * @enum {string}\n  */\nexport enum GetBitlinksByGroupDeeplinksEnum {\n    on = 'on',\n    off = 'off',\n    both = 'both'\n}\n/**\n  * @export\n  * @enum {string}\n  */\nexport enum GetBitlinksByGroupDomainDeeplinksEnum {\n    on = 'on',\n    off = 'off',\n    both = 'both'\n}\n/**\n  * @export\n  * @enum {string}\n  */\nexport enum GetBitlinksByGroupCustomBitlinkEnum {\n    on = 'on',\n    off = 'off',\n    both = 'both'\n}\n/**\n  * @export\n  * @enum {string}\n  */\nexport enum GetBitlinksByGroupHasQrCodesEnum {\n    on = 'on',\n    off = 'off',\n    both = 'both'\n}\n/**\n  * @export\n  * @enum {string}\n  */\nexport enum GetBitlinksByGroupIsExpiredEnum {\n    on = 'on',\n    off = 'off',\n    both = 'both'\n}\n/**\n  * @export\n  * @enum {string}\n  */\nexport enum GetBitlinksByGroupHasExpirationEnum {\n    on = 'on',\n    off = 'off',\n    both = 'both'\n}\n/**\n  * @export\n  * @enum {string}\n  */\nexport enum GetSortedBitlinksSortEnum {\n    clicks = 'clicks'\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 Campaign\n */\nexport interface Campaign {\n    /**\n     * \n     * @type {{ [key: string]: string; }}\n     * @memberof Campaign\n     */\n    references?: { [key: string]: string; };\n    /**\n     * \n     * @type {string}\n     * @memberof Campaign\n     */\n    guid?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof Campaign\n     */\n    group_guid?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof Campaign\n     */\n    created_by?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof Campaign\n     */\n    name?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof Campaign\n     */\n    description?: string;\n    /**\n     * ISO timestamp\n     * @type {string}\n     * @memberof Campaign\n     */\n    created?: string;\n    /**\n     * ISO timestamp\n     * @type {string}\n     * @memberof Campaign\n     */\n    modified?: string;\n}\n\n/**\n * Check if a given object implements the Campaign interface.\n */\nexport function instanceOfCampaign(value: object): value is Campaign {\n    return true;\n}\n\nexport function CampaignFromJSON(json: any): Campaign {\n    return CampaignFromJSONTyped(json, false);\n}\n\nexport function CampaignFromJSONTyped(json: any, ignoreDiscriminator: boolean): Campaign {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'references': json['references'] == null ? undefined : json['references'],\n        'guid': json['guid'] == null ? undefined : json['guid'],\n        'group_guid': json['group_guid'] == null ? undefined : json['group_guid'],\n        'created_by': json['created_by'] == null ? undefined : json['created_by'],\n        'name': json['name'] == null ? undefined : json['name'],\n        'description': json['description'] == null ? undefined : json['description'],\n        'created': json['created'] == null ? undefined : json['created'],\n        'modified': json['modified'] == null ? undefined : json['modified'],\n    };\n}\n\nexport function CampaignToJSON(json: any): Campaign {\n    return CampaignToJSONTyped(json, false);\n}\n\nexport function CampaignToJSONTyped(value?: Campaign | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'references': value['references'],\n        'guid': value['guid'],\n        'group_guid': value['group_guid'],\n        'created_by': value['created_by'],\n        'name': value['name'],\n        'description': value['description'],\n        'created': value['created'],\n        'modified': value['modified'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 CampaignModify\n */\nexport interface CampaignModify {\n    /**\n     * \n     * @type {string}\n     * @memberof CampaignModify\n     */\n    group_guid?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof CampaignModify\n     */\n    name?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof CampaignModify\n     */\n    description?: string;\n    /**\n     * \n     * @type {Array<string>}\n     * @memberof CampaignModify\n     */\n    channel_guids?: Array<string>;\n}\n\n/**\n * Check if a given object implements the CampaignModify interface.\n */\nexport function instanceOfCampaignModify(value: object): value is CampaignModify {\n    return true;\n}\n\nexport function CampaignModifyFromJSON(json: any): CampaignModify {\n    return CampaignModifyFromJSONTyped(json, false);\n}\n\nexport function CampaignModifyFromJSONTyped(json: any, ignoreDiscriminator: boolean): CampaignModify {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'group_guid': json['group_guid'] == null ? undefined : json['group_guid'],\n        'name': json['name'] == null ? undefined : json['name'],\n        'description': json['description'] == null ? undefined : json['description'],\n        'channel_guids': json['channel_guids'] == null ? undefined : json['channel_guids'],\n    };\n}\n\nexport function CampaignModifyToJSON(json: any): CampaignModify {\n    return CampaignModifyToJSONTyped(json, false);\n}\n\nexport function CampaignModifyToJSONTyped(value?: CampaignModify | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'group_guid': value['group_guid'],\n        'name': value['name'],\n        'description': value['description'],\n        'channel_guids': value['channel_guids'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { Campaign } from './Campaign';\nimport {\n    CampaignFromJSON,\n    CampaignFromJSONTyped,\n    CampaignToJSON,\n    CampaignToJSONTyped,\n} from './Campaign';\n\n/**\n * \n * @export\n * @interface Campaigns\n */\nexport interface Campaigns {\n    /**\n     * \n     * @type {Array<Campaign>}\n     * @memberof Campaigns\n     */\n    campaigns?: Array<Campaign>;\n}\n\n/**\n * Check if a given object implements the Campaigns interface.\n */\nexport function instanceOfCampaigns(value: object): value is Campaigns {\n    return true;\n}\n\nexport function CampaignsFromJSON(json: any): Campaigns {\n    return CampaignsFromJSONTyped(json, false);\n}\n\nexport function CampaignsFromJSONTyped(json: any, ignoreDiscriminator: boolean): Campaigns {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'campaigns': json['campaigns'] == null ? undefined : ((json['campaigns'] as Array<any>).map(CampaignFromJSON)),\n    };\n}\n\nexport function CampaignsToJSON(json: any): Campaigns {\n    return CampaignsToJSONTyped(json, false);\n}\n\nexport function CampaignsToJSONTyped(value?: Campaigns | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'campaigns': value['campaigns'] == null ? undefined : ((value['campaigns'] as Array<any>).map(CampaignToJSON)),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 Channel\n */\nexport interface Channel {\n    /**\n     * \n     * @type {string}\n     * @memberof Channel\n     */\n    name?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof Channel\n     */\n    guid?: string;\n    /**\n     * ISO TIMESTAMP\n     * @type {string}\n     * @memberof Channel\n     */\n    created?: string;\n    /**\n     * ISO_TIMESTAMP\n     * @type {string}\n     * @memberof Channel\n     */\n    modified?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof Channel\n     */\n    group_guid?: string;\n    /**\n     * \n     * @type {{ [key: string]: string; }}\n     * @memberof Channel\n     */\n    references?: { [key: string]: string; };\n}\n\n/**\n * Check if a given object implements the Channel interface.\n */\nexport function instanceOfChannel(value: object): value is Channel {\n    return true;\n}\n\nexport function ChannelFromJSON(json: any): Channel {\n    return ChannelFromJSONTyped(json, false);\n}\n\nexport function ChannelFromJSONTyped(json: any, ignoreDiscriminator: boolean): Channel {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'name': json['name'] == null ? undefined : json['name'],\n        'guid': json['guid'] == null ? undefined : json['guid'],\n        'created': json['created'] == null ? undefined : json['created'],\n        'modified': json['modified'] == null ? undefined : json['modified'],\n        'group_guid': json['group_guid'] == null ? undefined : json['group_guid'],\n        'references': json['references'] == null ? undefined : json['references'],\n    };\n}\n\nexport function ChannelToJSON(json: any): Channel {\n    return ChannelToJSONTyped(json, false);\n}\n\nexport function ChannelToJSONTyped(value?: Channel | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'name': value['name'],\n        'guid': value['guid'],\n        'created': value['created'],\n        'modified': value['modified'],\n        'group_guid': value['group_guid'],\n        'references': value['references'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 BaseChannelBitlink\n */\nexport interface BaseChannelBitlink {\n    /**\n     * \n     * @type {string}\n     * @memberof BaseChannelBitlink\n     */\n    campaign_guid?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof BaseChannelBitlink\n     */\n    bitlink_id?: string;\n}\n\n/**\n * Check if a given object implements the BaseChannelBitlink interface.\n */\nexport function instanceOfBaseChannelBitlink(value: object): value is BaseChannelBitlink {\n    return true;\n}\n\nexport function BaseChannelBitlinkFromJSON(json: any): BaseChannelBitlink {\n    return BaseChannelBitlinkFromJSONTyped(json, false);\n}\n\nexport function BaseChannelBitlinkFromJSONTyped(json: any, ignoreDiscriminator: boolean): BaseChannelBitlink {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'campaign_guid': json['campaign_guid'] == null ? undefined : json['campaign_guid'],\n        'bitlink_id': json['bitlink_id'] == null ? undefined : json['bitlink_id'],\n    };\n}\n\nexport function BaseChannelBitlinkToJSON(json: any): BaseChannelBitlink {\n    return BaseChannelBitlinkToJSONTyped(json, false);\n}\n\nexport function BaseChannelBitlinkToJSONTyped(value?: BaseChannelBitlink | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'campaign_guid': value['campaign_guid'],\n        'bitlink_id': value['bitlink_id'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { BaseChannelBitlink } from './BaseChannelBitlink';\nimport {\n    BaseChannelBitlinkFromJSON,\n    BaseChannelBitlinkFromJSONTyped,\n    BaseChannelBitlinkToJSON,\n    BaseChannelBitlinkToJSONTyped,\n} from './BaseChannelBitlink';\n\n/**\n * \n * @export\n * @interface ChannelModify\n */\nexport interface ChannelModify {\n    /**\n     * \n     * @type {string}\n     * @memberof ChannelModify\n     */\n    name?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof ChannelModify\n     */\n    guid?: string;\n    /**\n     * ISO TIMESTAMP\n     * @type {string}\n     * @memberof ChannelModify\n     */\n    created?: string;\n    /**\n     * ISO_TIMESTAMP\n     * @type {string}\n     * @memberof ChannelModify\n     */\n    modified?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof ChannelModify\n     */\n    group_guid?: string;\n    /**\n     * \n     * @type {Array<BaseChannelBitlink>}\n     * @memberof ChannelModify\n     */\n    bitlinks?: Array<BaseChannelBitlink>;\n}\n\n/**\n * Check if a given object implements the ChannelModify interface.\n */\nexport function instanceOfChannelModify(value: object): value is ChannelModify {\n    return true;\n}\n\nexport function ChannelModifyFromJSON(json: any): ChannelModify {\n    return ChannelModifyFromJSONTyped(json, false);\n}\n\nexport function ChannelModifyFromJSONTyped(json: any, ignoreDiscriminator: boolean): ChannelModify {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'name': json['name'] == null ? undefined : json['name'],\n        'guid': json['guid'] == null ? undefined : json['guid'],\n        'created': json['created'] == null ? undefined : json['created'],\n        'modified': json['modified'] == null ? undefined : json['modified'],\n        'group_guid': json['group_guid'] == null ? undefined : json['group_guid'],\n        'bitlinks': json['bitlinks'] == null ? undefined : ((json['bitlinks'] as Array<any>).map(BaseChannelBitlinkFromJSON)),\n    };\n}\n\nexport function ChannelModifyToJSON(json: any): ChannelModify {\n    return ChannelModifyToJSONTyped(json, false);\n}\n\nexport function ChannelModifyToJSONTyped(value?: ChannelModify | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'name': value['name'],\n        'guid': value['guid'],\n        'created': value['created'],\n        'modified': value['modified'],\n        'group_guid': value['group_guid'],\n        'bitlinks': value['bitlinks'] == null ? undefined : ((value['bitlinks'] as Array<any>).map(BaseChannelBitlinkToJSON)),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { Channel } from './Channel';\nimport {\n    ChannelFromJSON,\n    ChannelFromJSONTyped,\n    ChannelToJSON,\n    ChannelToJSONTyped,\n} from './Channel';\n\n/**\n * \n * @export\n * @interface Channels\n */\nexport interface Channels {\n    /**\n     * \n     * @type {Array<Channel>}\n     * @memberof Channels\n     */\n    channels?: Array<Channel>;\n}\n\n/**\n * Check if a given object implements the Channels interface.\n */\nexport function instanceOfChannels(value: object): value is Channels {\n    return true;\n}\n\nexport function ChannelsFromJSON(json: any): Channels {\n    return ChannelsFromJSONTyped(json, false);\n}\n\nexport function ChannelsFromJSONTyped(json: any, ignoreDiscriminator: boolean): Channels {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'channels': json['channels'] == null ? undefined : ((json['channels'] as Array<any>).map(ChannelFromJSON)),\n    };\n}\n\nexport function ChannelsToJSON(json: any): Channels {\n    return ChannelsToJSONTyped(json, false);\n}\n\nexport function ChannelsToJSONTyped(value?: Channels | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'channels': value['channels'] == null ? undefined : ((value['channels'] as Array<any>).map(ChannelToJSON)),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 BadGateway,\n    BadGatewayFromJSON,\n    BadGatewayToJSON,\n} from '../models/BadGateway';\nimport {\n    type BadRequest,\n    BadRequestFromJSON,\n    BadRequestToJSON,\n} from '../models/BadRequest';\nimport {\n    type Campaign,\n    CampaignFromJSON,\n    CampaignToJSON,\n} from '../models/Campaign';\nimport {\n    type CampaignModify,\n    CampaignModifyFromJSON,\n    CampaignModifyToJSON,\n} from '../models/CampaignModify';\nimport {\n    type Campaigns,\n    CampaignsFromJSON,\n    CampaignsToJSON,\n} from '../models/Campaigns';\nimport {\n    type Channel,\n    ChannelFromJSON,\n    ChannelToJSON,\n} from '../models/Channel';\nimport {\n    type ChannelModify,\n    ChannelModifyFromJSON,\n    ChannelModifyToJSON,\n} from '../models/ChannelModify';\nimport {\n    type Channels,\n    ChannelsFromJSON,\n    ChannelsToJSON,\n} from '../models/Channels';\nimport {\n    type Forbidden,\n    ForbiddenFromJSON,\n    ForbiddenToJSON,\n} from '../models/Forbidden';\nimport {\n    type InternalError,\n    InternalErrorFromJSON,\n    InternalErrorToJSON,\n} from '../models/InternalError';\nimport {\n    type MonthlyLimitExceeded,\n    MonthlyLimitExceededFromJSON,\n    MonthlyLimitExceededToJSON,\n} from '../models/MonthlyLimitExceeded';\nimport {\n    type NotFound,\n    NotFoundFromJSON,\n    NotFoundToJSON,\n} from '../models/NotFound';\nimport {\n    type TemporarilyUnavailable,\n    TemporarilyUnavailableFromJSON,\n    TemporarilyUnavailableToJSON,\n} from '../models/TemporarilyUnavailable';\nimport {\n    type UnprocessableEntity,\n    UnprocessableEntityFromJSON,\n    UnprocessableEntityToJSON,\n} from '../models/UnprocessableEntity';\nimport {\n    type UpgradeRequired,\n    UpgradeRequiredFromJSON,\n    UpgradeRequiredToJSON,\n} from '../models/UpgradeRequired';\n\nexport interface CreateCampaignRequest {\n    campaign_modify: CampaignModify;\n}\n\nexport interface CreateChannelRequest {\n    channel_modify: ChannelModify;\n}\n\nexport interface GetCampaignRequest {\n    campaign_guid: string;\n}\n\nexport interface GetCampaignsRequest {\n    group_guid?: string;\n}\n\nexport interface GetChannelRequest {\n    channel_guid: string;\n}\n\nexport interface GetChannelsRequest {\n    group_guid?: string;\n    campaign_guid?: string;\n}\n\nexport interface UpdateCampaignRequest {\n    campaign_guid: string;\n    campaign_modify: CampaignModify;\n}\n\nexport interface UpdateChannelRequest {\n    channel_guid: string;\n    channel_modify: ChannelModify;\n}\n\n/**\n * \n */\nexport class CampaignsApi extends runtime.BaseAPI {\n\n    /**\n     * Creates request options for createCampaign without sending the request\n     */\n    async createCampaignRequestOpts(requestParameters: CreateCampaignRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['campaign_modify'] == null) {\n            throw new runtime.RequiredError(\n                'campaign_modify',\n                'Required parameter \"campaign_modify\" was null or undefined when calling createCampaign().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        headerParameters['Content-Type'] = 'application/json';\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/campaigns`;\n\n        return {\n            path: urlPath,\n            method: 'POST',\n            headers: headerParameters,\n            query: queryParameters,\n            body: CampaignModifyToJSON(requestParameters['campaign_modify']),\n        };\n    }\n\n    /**\n     * Creates a new campaign.\n     * Create Campaign\n     */\n    async createCampaignRaw(requestParameters: CreateCampaignRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Campaign>> {\n        const requestOptions = await this.createCampaignRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => CampaignFromJSON(jsonValue));\n    }\n\n    /**\n     * Creates a new campaign.\n     * Create Campaign\n     */\n    async createCampaign(requestParameters: CreateCampaignRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Campaign> {\n        const response = await this.createCampaignRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for createChannel without sending the request\n     */\n    async createChannelRequestOpts(requestParameters: CreateChannelRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['channel_modify'] == null) {\n            throw new runtime.RequiredError(\n                'channel_modify',\n                'Required parameter \"channel_modify\" was null or undefined when calling createChannel().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        headerParameters['Content-Type'] = 'application/json';\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/channels`;\n\n        return {\n            path: urlPath,\n            method: 'POST',\n            headers: headerParameters,\n            query: queryParameters,\n            body: ChannelModifyToJSON(requestParameters['channel_modify']),\n        };\n    }\n\n    /**\n     * Creates a new channel.\n     * Create Channel\n     */\n    async createChannelRaw(requestParameters: CreateChannelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Channel>> {\n        const requestOptions = await this.createChannelRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => ChannelFromJSON(jsonValue));\n    }\n\n    /**\n     * Creates a new channel.\n     * Create Channel\n     */\n    async createChannel(requestParameters: CreateChannelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Channel> {\n        const response = await this.createChannelRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getCampaign without sending the request\n     */\n    async getCampaignRequestOpts(requestParameters: GetCampaignRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['campaign_guid'] == null) {\n            throw new runtime.RequiredError(\n                'campaign_guid',\n                'Required parameter \"campaign_guid\" was null or undefined when calling getCampaign().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/campaigns/{campaign_guid}`;\n        urlPath = urlPath.replace('{campaign_guid}', encodeURIComponent(String(requestParameters['campaign_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns details for a campaign.\n     * Retrieve a Campaign\n     */\n    async getCampaignRaw(requestParameters: GetCampaignRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Campaign>> {\n        const requestOptions = await this.getCampaignRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => CampaignFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns details for a campaign.\n     * Retrieve a Campaign\n     */\n    async getCampaign(requestParameters: GetCampaignRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Campaign> {\n        const response = await this.getCampaignRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getCampaigns without sending the request\n     */\n    async getCampaignsRequestOpts(requestParameters: GetCampaignsRequest): Promise<runtime.RequestOpts> {\n        const queryParameters: any = {};\n\n        if (requestParameters['group_guid'] != null) {\n            queryParameters['group_guid'] = requestParameters['group_guid'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/campaigns`;\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns the campaigns for the current authenticated user.\n     * Retrieve Campaigns\n     */\n    async getCampaignsRaw(requestParameters: GetCampaignsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Campaigns>> {\n        const requestOptions = await this.getCampaignsRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => CampaignsFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns the campaigns for the current authenticated user.\n     * Retrieve Campaigns\n     */\n    async getCampaigns(requestParameters: GetCampaignsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Campaigns> {\n        const response = await this.getCampaignsRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getChannel without sending the request\n     */\n    async getChannelRequestOpts(requestParameters: GetChannelRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['channel_guid'] == null) {\n            throw new runtime.RequiredError(\n                'channel_guid',\n                'Required parameter \"channel_guid\" was null or undefined when calling getChannel().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/channels/{channel_guid}`;\n        urlPath = urlPath.replace('{channel_guid}', encodeURIComponent(String(requestParameters['channel_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns a channel\\'s details.\n     * Get a Channel\n     */\n    async getChannelRaw(requestParameters: GetChannelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Channel>> {\n        const requestOptions = await this.getChannelRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => ChannelFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns a channel\\'s details.\n     * Get a Channel\n     */\n    async getChannel(requestParameters: GetChannelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Channel> {\n        const response = await this.getChannelRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getChannels without sending the request\n     */\n    async getChannelsRequestOpts(requestParameters: GetChannelsRequest): Promise<runtime.RequestOpts> {\n        const queryParameters: any = {};\n\n        if (requestParameters['group_guid'] != null) {\n            queryParameters['group_guid'] = requestParameters['group_guid'];\n        }\n\n        if (requestParameters['campaign_guid'] != null) {\n            queryParameters['campaign_guid'] = requestParameters['campaign_guid'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/channels`;\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns the channels available to a user.\n     * Retrieve Channels\n     */\n    async getChannelsRaw(requestParameters: GetChannelsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Channels>> {\n        const requestOptions = await this.getChannelsRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => ChannelsFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns the channels available to a user.\n     * Retrieve Channels\n     */\n    async getChannels(requestParameters: GetChannelsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Channels> {\n        const response = await this.getChannelsRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for updateCampaign without sending the request\n     */\n    async updateCampaignRequestOpts(requestParameters: UpdateCampaignRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['campaign_guid'] == null) {\n            throw new runtime.RequiredError(\n                'campaign_guid',\n                'Required parameter \"campaign_guid\" was null or undefined when calling updateCampaign().'\n            );\n        }\n\n        if (requestParameters['campaign_modify'] == null) {\n            throw new runtime.RequiredError(\n                'campaign_modify',\n                'Required parameter \"campaign_modify\" was null or undefined when calling updateCampaign().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        headerParameters['Content-Type'] = 'application/json';\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/campaigns/{campaign_guid}`;\n        urlPath = urlPath.replace('{campaign_guid}', encodeURIComponent(String(requestParameters['campaign_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'PATCH',\n            headers: headerParameters,\n            query: queryParameters,\n            body: CampaignModifyToJSON(requestParameters['campaign_modify']),\n        };\n    }\n\n    /**\n     * Updates a campaign\\'s details.\n     * Update Campaign\n     */\n    async updateCampaignRaw(requestParameters: UpdateCampaignRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Campaign>> {\n        const requestOptions = await this.updateCampaignRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => CampaignFromJSON(jsonValue));\n    }\n\n    /**\n     * Updates a campaign\\'s details.\n     * Update Campaign\n     */\n    async updateCampaign(requestParameters: UpdateCampaignRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Campaign> {\n        const response = await this.updateCampaignRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for updateChannel without sending the request\n     */\n    async updateChannelRequestOpts(requestParameters: UpdateChannelRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['channel_guid'] == null) {\n            throw new runtime.RequiredError(\n                'channel_guid',\n                'Required parameter \"channel_guid\" was null or undefined when calling updateChannel().'\n            );\n        }\n\n        if (requestParameters['channel_modify'] == null) {\n            throw new runtime.RequiredError(\n                'channel_modify',\n                'Required parameter \"channel_modify\" was null or undefined when calling updateChannel().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        headerParameters['Content-Type'] = 'application/json';\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/channels/{channel_guid}`;\n        urlPath = urlPath.replace('{channel_guid}', encodeURIComponent(String(requestParameters['channel_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'PATCH',\n            headers: headerParameters,\n            query: queryParameters,\n            body: ChannelModifyToJSON(requestParameters['channel_modify']),\n        };\n    }\n\n    /**\n     * Updates an existing channel.\n     * Update a Channel\n     */\n    async updateChannelRaw(requestParameters: UpdateChannelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Channel>> {\n        const requestOptions = await this.updateChannelRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => ChannelFromJSON(jsonValue));\n    }\n\n    /**\n     * Updates an existing channel.\n     * Update a Channel\n     */\n    async updateChannel(requestParameters: UpdateChannelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Channel> {\n        const response = await this.updateChannelRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 AddCustomBitlink\n */\nexport interface AddCustomBitlink {\n    /**\n     * \n     * @type {string}\n     * @memberof AddCustomBitlink\n     */\n    custom_bitlink?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof AddCustomBitlink\n     */\n    bitlink_id?: string;\n}\n\n/**\n * Check if a given object implements the AddCustomBitlink interface.\n */\nexport function instanceOfAddCustomBitlink(value: object): value is AddCustomBitlink {\n    return true;\n}\n\nexport function AddCustomBitlinkFromJSON(json: any): AddCustomBitlink {\n    return AddCustomBitlinkFromJSONTyped(json, false);\n}\n\nexport function AddCustomBitlinkFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddCustomBitlink {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'custom_bitlink': json['custom_bitlink'] == null ? undefined : json['custom_bitlink'],\n        'bitlink_id': json['bitlink_id'] == null ? undefined : json['bitlink_id'],\n    };\n}\n\nexport function AddCustomBitlinkToJSON(json: any): AddCustomBitlink {\n    return AddCustomBitlinkToJSONTyped(json, false);\n}\n\nexport function AddCustomBitlinkToJSONTyped(value?: AddCustomBitlink | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'custom_bitlink': value['custom_bitlink'],\n        'bitlink_id': value['bitlink_id'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 CustomBitlinkHistory\n */\nexport interface CustomBitlinkHistory {\n    /**\n     * \n     * @type {string}\n     * @memberof CustomBitlinkHistory\n     */\n    group_guid?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof CustomBitlinkHistory\n     */\n    keyword?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof CustomBitlinkHistory\n     */\n    bsd?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof CustomBitlinkHistory\n     */\n    hash?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof CustomBitlinkHistory\n     */\n    login?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof CustomBitlinkHistory\n     */\n    long_url?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof CustomBitlinkHistory\n     */\n    created?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof CustomBitlinkHistory\n     */\n    first_created?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof CustomBitlinkHistory\n     */\n    deactivated?: string;\n    /**\n     * \n     * @type {boolean}\n     * @memberof CustomBitlinkHistory\n     */\n    is_active?: boolean;\n}\n\n/**\n * Check if a given object implements the CustomBitlinkHistory interface.\n */\nexport function instanceOfCustomBitlinkHistory(value: object): value is CustomBitlinkHistory {\n    return true;\n}\n\nexport function CustomBitlinkHistoryFromJSON(json: any): CustomBitlinkHistory {\n    return CustomBitlinkHistoryFromJSONTyped(json, false);\n}\n\nexport function CustomBitlinkHistoryFromJSONTyped(json: any, ignoreDiscriminator: boolean): CustomBitlinkHistory {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'group_guid': json['group_guid'] == null ? undefined : json['group_guid'],\n        'keyword': json['keyword'] == null ? undefined : json['keyword'],\n        'bsd': json['bsd'] == null ? undefined : json['bsd'],\n        'hash': json['hash'] == null ? undefined : json['hash'],\n        'login': json['login'] == null ? undefined : json['login'],\n        'long_url': json['long_url'] == null ? undefined : json['long_url'],\n        'created': json['created'] == null ? undefined : json['created'],\n        'first_created': json['first_created'] == null ? undefined : json['first_created'],\n        'deactivated': json['deactivated'] == null ? undefined : json['deactivated'],\n        'is_active': json['is_active'] == null ? undefined : json['is_active'],\n    };\n}\n\nexport function CustomBitlinkHistoryToJSON(json: any): CustomBitlinkHistory {\n    return CustomBitlinkHistoryToJSONTyped(json, false);\n}\n\nexport function CustomBitlinkHistoryToJSONTyped(value?: CustomBitlinkHistory | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'group_guid': value['group_guid'],\n        'keyword': value['keyword'],\n        'bsd': value['bsd'],\n        'hash': value['hash'],\n        'login': value['login'],\n        'long_url': value['long_url'],\n        'created': value['created'],\n        'first_created': value['first_created'],\n        'deactivated': value['deactivated'],\n        'is_active': value['is_active'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { BitlinkBody } from './BitlinkBody';\nimport {\n    BitlinkBodyFromJSON,\n    BitlinkBodyFromJSONTyped,\n    BitlinkBodyToJSON,\n    BitlinkBodyToJSONTyped,\n} from './BitlinkBody';\nimport type { CustomBitlinkHistory } from './CustomBitlinkHistory';\nimport {\n    CustomBitlinkHistoryFromJSON,\n    CustomBitlinkHistoryFromJSONTyped,\n    CustomBitlinkHistoryToJSON,\n    CustomBitlinkHistoryToJSONTyped,\n} from './CustomBitlinkHistory';\n\n/**\n * \n * @export\n * @interface CustomBitlink\n */\nexport interface CustomBitlink {\n    /**\n     * \n     * @type {string}\n     * @memberof CustomBitlink\n     */\n    custom_bitlink?: string;\n    /**\n     * \n     * @type {BitlinkBody}\n     * @memberof CustomBitlink\n     */\n    bitlink?: BitlinkBody;\n    /**\n     * \n     * @type {Array<CustomBitlinkHistory>}\n     * @memberof CustomBitlink\n     */\n    bitlink_history?: Array<CustomBitlinkHistory>;\n}\n\n/**\n * Check if a given object implements the CustomBitlink interface.\n */\nexport function instanceOfCustomBitlink(value: object): value is CustomBitlink {\n    return true;\n}\n\nexport function CustomBitlinkFromJSON(json: any): CustomBitlink {\n    return CustomBitlinkFromJSONTyped(json, false);\n}\n\nexport function CustomBitlinkFromJSONTyped(json: any, ignoreDiscriminator: boolean): CustomBitlink {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'custom_bitlink': json['custom_bitlink'] == null ? undefined : json['custom_bitlink'],\n        'bitlink': json['bitlink'] == null ? undefined : BitlinkBodyFromJSON(json['bitlink']),\n        'bitlink_history': json['bitlink_history'] == null ? undefined : ((json['bitlink_history'] as Array<any>).map(CustomBitlinkHistoryFromJSON)),\n    };\n}\n\nexport function CustomBitlinkToJSON(json: any): CustomBitlink {\n    return CustomBitlinkToJSONTyped(json, false);\n}\n\nexport function CustomBitlinkToJSONTyped(value?: CustomBitlink | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'custom_bitlink': value['custom_bitlink'],\n        'bitlink': BitlinkBodyToJSON(value['bitlink']),\n        'bitlink_history': value['bitlink_history'] == null ? undefined : ((value['bitlink_history'] as Array<any>).map(CustomBitlinkHistoryToJSON)),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 UpdateCustomBitlink\n */\nexport interface UpdateCustomBitlink {\n    /**\n     * \n     * @type {string}\n     * @memberof UpdateCustomBitlink\n     */\n    bitlink_id?: string;\n}\n\n/**\n * Check if a given object implements the UpdateCustomBitlink interface.\n */\nexport function instanceOfUpdateCustomBitlink(value: object): value is UpdateCustomBitlink {\n    return true;\n}\n\nexport function UpdateCustomBitlinkFromJSON(json: any): UpdateCustomBitlink {\n    return UpdateCustomBitlinkFromJSONTyped(json, false);\n}\n\nexport function UpdateCustomBitlinkFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateCustomBitlink {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'bitlink_id': json['bitlink_id'] == null ? undefined : json['bitlink_id'],\n    };\n}\n\nexport function UpdateCustomBitlinkToJSON(json: any): UpdateCustomBitlink {\n    return UpdateCustomBitlinkToJSONTyped(json, false);\n}\n\nexport function UpdateCustomBitlinkToJSONTyped(value?: UpdateCustomBitlink | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'bitlink_id': value['bitlink_id'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 AddCustomBitlink,\n    AddCustomBitlinkFromJSON,\n    AddCustomBitlinkToJSON,\n} from '../models/AddCustomBitlink';\nimport {\n    type BadRequest,\n    BadRequestFromJSON,\n    BadRequestToJSON,\n} from '../models/BadRequest';\nimport {\n    type ClickMetrics,\n    ClickMetricsFromJSON,\n    ClickMetricsToJSON,\n} from '../models/ClickMetrics';\nimport {\n    type Clicks,\n    ClicksFromJSON,\n    ClicksToJSON,\n} from '../models/Clicks';\nimport {\n    type CustomBitlink,\n    CustomBitlinkFromJSON,\n    CustomBitlinkToJSON,\n} from '../models/CustomBitlink';\nimport {\n    type Forbidden,\n    ForbiddenFromJSON,\n    ForbiddenToJSON,\n} from '../models/Forbidden';\nimport {\n    type Gone,\n    GoneFromJSON,\n    GoneToJSON,\n} from '../models/Gone';\nimport {\n    type InternalError,\n    InternalErrorFromJSON,\n    InternalErrorToJSON,\n} from '../models/InternalError';\nimport {\n    type MonthlyLimitExceeded,\n    MonthlyLimitExceededFromJSON,\n    MonthlyLimitExceededToJSON,\n} from '../models/MonthlyLimitExceeded';\nimport {\n    type NotFound,\n    NotFoundFromJSON,\n    NotFoundToJSON,\n} from '../models/NotFound';\nimport {\n    type TemporarilyUnavailable,\n    TemporarilyUnavailableFromJSON,\n    TemporarilyUnavailableToJSON,\n} from '../models/TemporarilyUnavailable';\nimport {\n    type TimeUnit,\n    TimeUnitFromJSON,\n    TimeUnitToJSON,\n} from '../models/TimeUnit';\nimport {\n    type UnprocessableEntity,\n    UnprocessableEntityFromJSON,\n    UnprocessableEntityToJSON,\n} from '../models/UnprocessableEntity';\nimport {\n    type UpdateCustomBitlink,\n    UpdateCustomBitlinkFromJSON,\n    UpdateCustomBitlinkToJSON,\n} from '../models/UpdateCustomBitlink';\nimport {\n    type UpgradeRequired,\n    UpgradeRequiredFromJSON,\n    UpgradeRequiredToJSON,\n} from '../models/UpgradeRequired';\n\nexport interface AddCustomBitlinkRequest {\n    add_custom_bitlink: AddCustomBitlink;\n}\n\nexport interface GetClicksForCustomBitlinkRequest {\n    custom_bitlink: string;\n    unit: TimeUnit;\n    units: number;\n    unit_reference?: string;\n}\n\nexport interface GetCustomBitlinkRequest {\n    custom_bitlink: string;\n}\n\nexport interface GetCustomBitlinkMetricsByDestinationRequest {\n    custom_bitlink: string;\n    unit: TimeUnit;\n    units: number;\n    unit_reference?: string;\n}\n\nexport interface UpdateCustomBitlinkRequest {\n    custom_bitlink: string;\n    update_custom_bitlink: UpdateCustomBitlink;\n}\n\n/**\n * \n */\nexport class CustomBitlinksApi extends runtime.BaseAPI {\n\n    /**\n     * Creates request options for addCustomBitlink without sending the request\n     */\n    async addCustomBitlinkRequestOpts(requestParameters: AddCustomBitlinkRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['add_custom_bitlink'] == null) {\n            throw new runtime.RequiredError(\n                'add_custom_bitlink',\n                'Required parameter \"add_custom_bitlink\" was null or undefined when calling addCustomBitlink().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        headerParameters['Content-Type'] = 'application/json';\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/custom_bitlinks`;\n\n        return {\n            path: urlPath,\n            method: 'POST',\n            headers: headerParameters,\n            query: queryParameters,\n            body: AddCustomBitlinkToJSON(requestParameters['add_custom_bitlink']),\n        };\n    }\n\n    /**\n     * Add a keyword (or \\\"custom back-half\\\") to a Bitlink with a Custom Domain (domains must match). This endpoint can also be used for initial redirects to a link.\n     * Add Custom Bitlink\n     */\n    async addCustomBitlinkRaw(requestParameters: AddCustomBitlinkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CustomBitlink>> {\n        const requestOptions = await this.addCustomBitlinkRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => CustomBitlinkFromJSON(jsonValue));\n    }\n\n    /**\n     * Add a keyword (or \\\"custom back-half\\\") to a Bitlink with a Custom Domain (domains must match). This endpoint can also be used for initial redirects to a link.\n     * Add Custom Bitlink\n     */\n    async addCustomBitlink(requestParameters: AddCustomBitlinkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CustomBitlink> {\n        const response = await this.addCustomBitlinkRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getClicksForCustomBitlink without sending the request\n     */\n    async getClicksForCustomBitlinkRequestOpts(requestParameters: GetClicksForCustomBitlinkRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['custom_bitlink'] == null) {\n            throw new runtime.RequiredError(\n                'custom_bitlink',\n                'Required parameter \"custom_bitlink\" was null or undefined when calling getClicksForCustomBitlink().'\n            );\n        }\n\n        if (requestParameters['unit'] == null) {\n            throw new runtime.RequiredError(\n                'unit',\n                'Required parameter \"unit\" was null or undefined when calling getClicksForCustomBitlink().'\n            );\n        }\n\n        if (requestParameters['units'] == null) {\n            throw new runtime.RequiredError(\n                'units',\n                'Required parameter \"units\" was null or undefined when calling getClicksForCustomBitlink().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['unit'] != null) {\n            queryParameters['unit'] = requestParameters['unit'];\n        }\n\n        if (requestParameters['units'] != null) {\n            queryParameters['units'] = requestParameters['units'];\n        }\n\n        if (requestParameters['unit_reference'] != null) {\n            queryParameters['unit_reference'] = requestParameters['unit_reference'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/custom_bitlinks/{custom_bitlink}/clicks`;\n        urlPath = urlPath.replace('{custom_bitlink}', encodeURIComponent(String(requestParameters['custom_bitlink'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns the click counts for the specified link. This returns an array with clicks based on a date.\n     * Get Clicks for a Custom Bitlink\\'s Entire History\n     */\n    async getClicksForCustomBitlinkRaw(requestParameters: GetClicksForCustomBitlinkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Clicks>> {\n        const requestOptions = await this.getClicksForCustomBitlinkRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => ClicksFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns the click counts for the specified link. This returns an array with clicks based on a date.\n     * Get Clicks for a Custom Bitlink\\'s Entire History\n     */\n    async getClicksForCustomBitlink(requestParameters: GetClicksForCustomBitlinkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Clicks> {\n        const response = await this.getClicksForCustomBitlinkRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getCustomBitlink without sending the request\n     */\n    async getCustomBitlinkRequestOpts(requestParameters: GetCustomBitlinkRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['custom_bitlink'] == null) {\n            throw new runtime.RequiredError(\n                'custom_bitlink',\n                'Required parameter \"custom_bitlink\" was null or undefined when calling getCustomBitlink().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/custom_bitlinks/{custom_bitlink}`;\n        urlPath = urlPath.replace('{custom_bitlink}', encodeURIComponent(String(requestParameters['custom_bitlink'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns the details and history of the specified link.\n     * Retrieve Custom Bitlink\n     */\n    async getCustomBitlinkRaw(requestParameters: GetCustomBitlinkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CustomBitlink>> {\n        const requestOptions = await this.getCustomBitlinkRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => CustomBitlinkFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns the details and history of the specified link.\n     * Retrieve Custom Bitlink\n     */\n    async getCustomBitlink(requestParameters: GetCustomBitlinkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CustomBitlink> {\n        const response = await this.getCustomBitlinkRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getCustomBitlinkMetricsByDestination without sending the request\n     */\n    async getCustomBitlinkMetricsByDestinationRequestOpts(requestParameters: GetCustomBitlinkMetricsByDestinationRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['custom_bitlink'] == null) {\n            throw new runtime.RequiredError(\n                'custom_bitlink',\n                'Required parameter \"custom_bitlink\" was null or undefined when calling getCustomBitlinkMetricsByDestination().'\n            );\n        }\n\n        if (requestParameters['unit'] == null) {\n            throw new runtime.RequiredError(\n                'unit',\n                'Required parameter \"unit\" was null or undefined when calling getCustomBitlinkMetricsByDestination().'\n            );\n        }\n\n        if (requestParameters['units'] == null) {\n            throw new runtime.RequiredError(\n                'units',\n                'Required parameter \"units\" was null or undefined when calling getCustomBitlinkMetricsByDestination().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['unit'] != null) {\n            queryParameters['unit'] = requestParameters['unit'];\n        }\n\n        if (requestParameters['units'] != null) {\n            queryParameters['units'] = requestParameters['units'];\n        }\n\n        if (requestParameters['unit_reference'] != null) {\n            queryParameters['unit_reference'] = requestParameters['unit_reference'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/custom_bitlinks/{custom_bitlink}/clicks_by_destination`;\n        urlPath = urlPath.replace('{custom_bitlink}', encodeURIComponent(String(requestParameters['custom_bitlink'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns click metrics for the specified link by its historical destinations.\n     * Get Metrics for a Custom Bitlink by Destination\n     */\n    async getCustomBitlinkMetricsByDestinationRaw(requestParameters: GetCustomBitlinkMetricsByDestinationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ClickMetrics>> {\n        const requestOptions = await this.getCustomBitlinkMetricsByDestinationRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => ClickMetricsFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns click metrics for the specified link by its historical destinations.\n     * Get Metrics for a Custom Bitlink by Destination\n     */\n    async getCustomBitlinkMetricsByDestination(requestParameters: GetCustomBitlinkMetricsByDestinationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ClickMetrics> {\n        const response = await this.getCustomBitlinkMetricsByDestinationRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for updateCustomBitlink without sending the request\n     */\n    async updateCustomBitlinkRequestOpts(requestParameters: UpdateCustomBitlinkRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['custom_bitlink'] == null) {\n            throw new runtime.RequiredError(\n                'custom_bitlink',\n                'Required parameter \"custom_bitlink\" was null or undefined when calling updateCustomBitlink().'\n            );\n        }\n\n        if (requestParameters['update_custom_bitlink'] == null) {\n            throw new runtime.RequiredError(\n                'update_custom_bitlink',\n                'Required parameter \"update_custom_bitlink\" was null or undefined when calling updateCustomBitlink().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        headerParameters['Content-Type'] = 'application/json';\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/custom_bitlinks/{custom_bitlink}`;\n        urlPath = urlPath.replace('{custom_bitlink}', encodeURIComponent(String(requestParameters['custom_bitlink'])));\n\n        return {\n            path: urlPath,\n            method: 'PATCH',\n            headers: headerParameters,\n            query: queryParameters,\n            body: UpdateCustomBitlinkToJSON(requestParameters['update_custom_bitlink']),\n        };\n    }\n\n    /**\n     * Move a keyword (or custom back-half) to a different Bitlink (domains must match).\n     * Update Custom Bitlink\n     */\n    async updateCustomBitlinkRaw(requestParameters: UpdateCustomBitlinkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CustomBitlink>> {\n        const requestOptions = await this.updateCustomBitlinkRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => CustomBitlinkFromJSON(jsonValue));\n    }\n\n    /**\n     * Move a keyword (or custom back-half) to a different Bitlink (domains must match).\n     * Update Custom Bitlink\n     */\n    async updateCustomBitlink(requestParameters: UpdateCustomBitlinkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CustomBitlink> {\n        const response = await this.updateCustomBitlinkRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 OAuthApp\n */\nexport interface OAuthApp {\n    /**\n     * \n     * @type {string}\n     * @memberof OAuthApp\n     */\n    name: string;\n    /**\n     * \n     * @type {string}\n     * @memberof OAuthApp\n     */\n    client_id: string;\n    /**\n     * \n     * @type {string}\n     * @memberof OAuthApp\n     */\n    description: string;\n    /**\n     * \n     * @type {string}\n     * @memberof OAuthApp\n     */\n    link: string;\n    /**\n     * \n     * @type {boolean}\n     * @memberof OAuthApp\n     */\n    require_oauth_pkce: boolean;\n}\n\n/**\n * Check if a given object implements the OAuthApp interface.\n */\nexport function instanceOfOAuthApp(value: object): value is OAuthApp {\n    if (!('name' in value) || value['name'] === undefined) return false;\n    if (!('client_id' in value) || value['client_id'] === undefined) return false;\n    if (!('description' in value) || value['description'] === undefined) return false;\n    if (!('link' in value) || value['link'] === undefined) return false;\n    if (!('require_oauth_pkce' in value) || value['require_oauth_pkce'] === undefined) return false;\n    return true;\n}\n\nexport function OAuthAppFromJSON(json: any): OAuthApp {\n    return OAuthAppFromJSONTyped(json, false);\n}\n\nexport function OAuthAppFromJSONTyped(json: any, ignoreDiscriminator: boolean): OAuthApp {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'name': json['name'],\n        'client_id': json['client_id'],\n        'description': json['description'],\n        'link': json['link'],\n        'require_oauth_pkce': json['require_oauth_pkce'],\n    };\n}\n\nexport function OAuthAppToJSON(json: any): OAuthApp {\n    return OAuthAppToJSONTyped(json, false);\n}\n\nexport function OAuthAppToJSONTyped(value?: OAuthApp | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'name': value['name'],\n        'client_id': value['client_id'],\n        'description': value['description'],\n        'link': value['link'],\n        'require_oauth_pkce': value['require_oauth_pkce'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 Forbidden,\n    ForbiddenFromJSON,\n    ForbiddenToJSON,\n} from '../models/Forbidden';\nimport {\n    type InternalError,\n    InternalErrorFromJSON,\n    InternalErrorToJSON,\n} from '../models/InternalError';\nimport {\n    type NotFound,\n    NotFoundFromJSON,\n    NotFoundToJSON,\n} from '../models/NotFound';\nimport {\n    type OAuthApp,\n    OAuthAppFromJSON,\n    OAuthAppToJSON,\n} from '../models/OAuthApp';\nimport {\n    type TemporarilyUnavailable,\n    TemporarilyUnavailableFromJSON,\n    TemporarilyUnavailableToJSON,\n} from '../models/TemporarilyUnavailable';\n\nexport interface GetOAuthAppRequest {\n    client_id: string;\n}\n\n/**\n * \n */\nexport class DefaultApi extends runtime.BaseAPI {\n\n    /**\n     * Creates request options for getOAuthApp without sending the request\n     */\n    async getOAuthAppRequestOpts(requestParameters: GetOAuthAppRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['client_id'] == null) {\n            throw new runtime.RequiredError(\n                'client_id',\n                'Required parameter \"client_id\" was null or undefined when calling getOAuthApp().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/apps/{client_id}`;\n        urlPath = urlPath.replace('{client_id}', encodeURIComponent(String(requestParameters['client_id'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Retrieve the details for the provided OAuth App client ID\n     * Retrieve OAuth App\n     */\n    async getOAuthAppRaw(requestParameters: GetOAuthAppRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<OAuthApp>> {\n        const requestOptions = await this.getOAuthAppRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => OAuthAppFromJSON(jsonValue));\n    }\n\n    /**\n     * Retrieve the details for the provided OAuth App client ID\n     * Retrieve OAuth App\n     */\n    async getOAuthApp(requestParameters: GetOAuthAppRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<OAuthApp> {\n        const response = await this.getOAuthAppRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 GetGroupLinkClicksByDevice200ResponseMetricsInner\n */\nexport interface GetGroupLinkClicksByDevice200ResponseMetricsInner {\n    /**\n     * \n     * @type {number}\n     * @memberof GetGroupLinkClicksByDevice200ResponseMetricsInner\n     */\n    clicks?: number;\n    /**\n     * \n     * @type {string}\n     * @memberof GetGroupLinkClicksByDevice200ResponseMetricsInner\n     */\n    value?: string;\n}\n\n/**\n * Check if a given object implements the GetGroupLinkClicksByDevice200ResponseMetricsInner interface.\n */\nexport function instanceOfGetGroupLinkClicksByDevice200ResponseMetricsInner(value: object): value is GetGroupLinkClicksByDevice200ResponseMetricsInner {\n    return true;\n}\n\nexport function GetGroupLinkClicksByDevice200ResponseMetricsInnerFromJSON(json: any): GetGroupLinkClicksByDevice200ResponseMetricsInner {\n    return GetGroupLinkClicksByDevice200ResponseMetricsInnerFromJSONTyped(json, false);\n}\n\nexport function GetGroupLinkClicksByDevice200ResponseMetricsInnerFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetGroupLinkClicksByDevice200ResponseMetricsInner {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'clicks': json['clicks'] == null ? undefined : json['clicks'],\n        'value': json['value'] == null ? undefined : json['value'],\n    };\n}\n\nexport function GetGroupLinkClicksByDevice200ResponseMetricsInnerToJSON(json: any): GetGroupLinkClicksByDevice200ResponseMetricsInner {\n    return GetGroupLinkClicksByDevice200ResponseMetricsInnerToJSONTyped(json, false);\n}\n\nexport function GetGroupLinkClicksByDevice200ResponseMetricsInnerToJSONTyped(value?: GetGroupLinkClicksByDevice200ResponseMetricsInner | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'clicks': value['clicks'],\n        'value': value['value'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { GetGroupLinkClicksByDevice200ResponseMetricsInner } from './GetGroupLinkClicksByDevice200ResponseMetricsInner';\nimport {\n    GetGroupLinkClicksByDevice200ResponseMetricsInnerFromJSON,\n    GetGroupLinkClicksByDevice200ResponseMetricsInnerFromJSONTyped,\n    GetGroupLinkClicksByDevice200ResponseMetricsInnerToJSON,\n    GetGroupLinkClicksByDevice200ResponseMetricsInnerToJSONTyped,\n} from './GetGroupLinkClicksByDevice200ResponseMetricsInner';\n\n/**\n * \n * @export\n * @interface GetGroupLinkClicksByDevice200Response\n */\nexport interface GetGroupLinkClicksByDevice200Response {\n    /**\n     * \n     * @type {string}\n     * @memberof GetGroupLinkClicksByDevice200Response\n     */\n    unit?: string;\n    /**\n     * \n     * @type {number}\n     * @memberof GetGroupLinkClicksByDevice200Response\n     */\n    units?: number;\n    /**\n     * \n     * @type {GetGroupLinkClicksByDevice200ResponseFacetEnum}\n     * @memberof GetGroupLinkClicksByDevice200Response\n     */\n    facet?: GetGroupLinkClicksByDevice200ResponseFacetEnum;\n    /**\n     * \n     * @type {string}\n     * @memberof GetGroupLinkClicksByDevice200Response\n     */\n    unit_reference?: string;\n    /**\n     * \n     * @type {Array<GetGroupLinkClicksByDevice200ResponseMetricsInner>}\n     * @memberof GetGroupLinkClicksByDevice200Response\n     */\n    metrics?: Array<GetGroupLinkClicksByDevice200ResponseMetricsInner>;\n}\n\n/**\n* @export\n* @enum {string}\n*/\nexport enum GetGroupLinkClicksByDevice200ResponseFacetEnum {\n    countries = 'countries',\n    cities = 'cities',\n    devices = 'devices',\n    referrers = 'referrers',\n    referrers_by_domain = 'referrers_by_domain',\n    referring_domains = 'referring_domains',\n    referring_networks = 'referring_networks',\n    shorten_counts = 'shorten_counts'\n}\n\n\n/**\n * Check if a given object implements the GetGroupLinkClicksByDevice200Response interface.\n */\nexport function instanceOfGetGroupLinkClicksByDevice200Response(value: object): value is GetGroupLinkClicksByDevice200Response {\n    return true;\n}\n\nexport function GetGroupLinkClicksByDevice200ResponseFromJSON(json: any): GetGroupLinkClicksByDevice200Response {\n    return GetGroupLinkClicksByDevice200ResponseFromJSONTyped(json, false);\n}\n\nexport function GetGroupLinkClicksByDevice200ResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetGroupLinkClicksByDevice200Response {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'unit': json['unit'] == null ? undefined : json['unit'],\n        'units': json['units'] == null ? undefined : json['units'],\n        'facet': json['facet'] == null ? undefined : json['facet'],\n        'unit_reference': json['unit_reference'] == null ? undefined : json['unit_reference'],\n        'metrics': json['metrics'] == null ? undefined : ((json['metrics'] as Array<any>).map(GetGroupLinkClicksByDevice200ResponseMetricsInnerFromJSON)),\n    };\n}\n\nexport function GetGroupLinkClicksByDevice200ResponseToJSON(json: any): GetGroupLinkClicksByDevice200Response {\n    return GetGroupLinkClicksByDevice200ResponseToJSONTyped(json, false);\n}\n\nexport function GetGroupLinkClicksByDevice200ResponseToJSONTyped(value?: GetGroupLinkClicksByDevice200Response | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'unit': value['unit'],\n        'units': value['units'],\n        'facet': value['facet'],\n        'unit_reference': value['unit_reference'],\n        'metrics': value['metrics'] == null ? undefined : ((value['metrics'] as Array<any>).map(GetGroupLinkClicksByDevice200ResponseMetricsInnerToJSON)),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 type { SortedLinks } from './SortedLinks';\nimport {\n    instanceOfSortedLinks,\n    SortedLinksFromJSON,\n    SortedLinksFromJSONTyped,\n    SortedLinksToJSON,\n} from './SortedLinks';\nimport type { TopLinksAndQRCodes } from './TopLinksAndQRCodes';\nimport {\n    instanceOfTopLinksAndQRCodes,\n    TopLinksAndQRCodesFromJSON,\n    TopLinksAndQRCodesFromJSONTyped,\n    TopLinksAndQRCodesToJSON,\n} from './TopLinksAndQRCodes';\n\n/**\n * @type GetGroupTopCodeScans200Response\n * \n * @export\n */\nexport type GetGroupTopCodeScans200Response = SortedLinks | TopLinksAndQRCodes;\n\nexport function GetGroupTopCodeScans200ResponseFromJSON(json: any): GetGroupTopCodeScans200Response {\n    return GetGroupTopCodeScans200ResponseFromJSONTyped(json, false);\n}\n\nexport function GetGroupTopCodeScans200ResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetGroupTopCodeScans200Response {\n    if (json == null) {\n        return json;\n    }\n    if (typeof json !== 'object') {\n        return json;\n    }\n    if (instanceOfSortedLinks(json)) {\n        return SortedLinksFromJSONTyped(json, true);\n    }\n    if (instanceOfTopLinksAndQRCodes(json)) {\n        return TopLinksAndQRCodesFromJSONTyped(json, true);\n    }\n    return {} as any;\n}\n\nexport function GetGroupTopCodeScans200ResponseToJSON(json: any): any {\n    return GetGroupTopCodeScans200ResponseToJSONTyped(json, false);\n}\n\nexport function GetGroupTopCodeScans200ResponseToJSONTyped(value?: GetGroupTopCodeScans200Response | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n    if (typeof value !== 'object') {\n        return value;\n    }\n    if (instanceOfSortedLinks(value)) {\n        return SortedLinksToJSON(value as SortedLinks);\n    }\n    if (instanceOfTopLinksAndQRCodes(value)) {\n        return TopLinksAndQRCodesToJSON(value as TopLinksAndQRCodes);\n    }\n    return {};\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 Group\n */\nexport interface Group {\n    /**\n     * \n     * @type {{ [key: string]: string; }}\n     * @memberof Group\n     */\n    references?: { [key: string]: string; };\n    /**\n     * \n     * @type {string}\n     * @memberof Group\n     */\n    name: string;\n    /**\n     * \n     * @type {string}\n     * @memberof Group\n     */\n    guid: string;\n    /**\n     * \n     * @type {string}\n     * @memberof Group\n     */\n    created: string;\n    /**\n     * \n     * @type {string}\n     * @memberof Group\n     */\n    modified: string;\n    /**\n     * \n     * @type {boolean}\n     * @memberof Group\n     */\n    is_active: boolean;\n    /**\n     * \n     * @type {string}\n     * @memberof Group\n     */\n    role: string;\n    /**\n     * \n     * @type {string}\n     * @memberof Group\n     */\n    organization_guid: string;\n    /**\n     * \n     * @type {Array<string>}\n     * @memberof Group\n     */\n    bsds: Array<string>;\n}\n\n/**\n * Check if a given object implements the Group interface.\n */\nexport function instanceOfGroup(value: object): value is Group {\n    if (!('name' in value) || value['name'] === undefined) return false;\n    if (!('guid' in value) || value['guid'] === undefined) return false;\n    if (!('created' in value) || value['created'] === undefined) return false;\n    if (!('modified' in value) || value['modified'] === undefined) return false;\n    if (!('is_active' in value) || value['is_active'] === undefined) return false;\n    if (!('role' in value) || value['role'] === undefined) return false;\n    if (!('organization_guid' in value) || value['organization_guid'] === undefined) return false;\n    if (!('bsds' in value) || value['bsds'] === undefined) return false;\n    return true;\n}\n\nexport function GroupFromJSON(json: any): Group {\n    return GroupFromJSONTyped(json, false);\n}\n\nexport function GroupFromJSONTyped(json: any, ignoreDiscriminator: boolean): Group {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'references': json['references'] == null ? undefined : json['references'],\n        'name': json['name'],\n        'guid': json['guid'],\n        'created': json['created'],\n        'modified': json['modified'],\n        'is_active': json['is_active'],\n        'role': json['role'],\n        'organization_guid': json['organization_guid'],\n        'bsds': json['bsds'],\n    };\n}\n\nexport function GroupToJSON(json: any): Group {\n    return GroupToJSONTyped(json, false);\n}\n\nexport function GroupToJSONTyped(value?: Group | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'references': value['references'],\n        'name': value['name'],\n        'guid': value['guid'],\n        'created': value['created'],\n        'modified': value['modified'],\n        'is_active': value['is_active'],\n        'role': value['role'],\n        'organization_guid': value['organization_guid'],\n        'bsds': value['bsds'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 CountItem\n */\nexport interface CountItem {\n    /**\n     * \n     * @type {string}\n     * @memberof CountItem\n     */\n    ts?: string;\n    /**\n     * \n     * @type {number}\n     * @memberof CountItem\n     */\n    count?: number;\n}\n\n/**\n * Check if a given object implements the CountItem interface.\n */\nexport function instanceOfCountItem(value: object): value is CountItem {\n    return true;\n}\n\nexport function CountItemFromJSON(json: any): CountItem {\n    return CountItemFromJSONTyped(json, false);\n}\n\nexport function CountItemFromJSONTyped(json: any, ignoreDiscriminator: boolean): CountItem {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'ts': json['ts'] == null ? undefined : json['ts'],\n        'count': json['count'] == null ? undefined : json['count'],\n    };\n}\n\nexport function CountItemToJSON(json: any): CountItem {\n    return CountItemToJSONTyped(json, false);\n}\n\nexport function CountItemToJSONTyped(value?: CountItem | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'ts': value['ts'],\n        'count': value['count'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { CountItem } from './CountItem';\nimport {\n    CountItemFromJSON,\n    CountItemFromJSONTyped,\n    CountItemToJSON,\n    CountItemToJSONTyped,\n} from './CountItem';\n\n/**\n * \n * @export\n * @interface GroupClicks\n */\nexport interface GroupClicks {\n    /**\n     * \n     * @type {string}\n     * @memberof GroupClicks\n     */\n    unit?: string;\n    /**\n     * \n     * @type {number}\n     * @memberof GroupClicks\n     */\n    units?: number;\n    /**\n     * \n     * @type {string}\n     * @memberof GroupClicks\n     */\n    unit_reference?: string;\n    /**\n     * \n     * @type {Array<CountItem>}\n     * @memberof GroupClicks\n     */\n    data?: Array<CountItem>;\n}\n\n/**\n * Check if a given object implements the GroupClicks interface.\n */\nexport function instanceOfGroupClicks(value: object): value is GroupClicks {\n    return true;\n}\n\nexport function GroupClicksFromJSON(json: any): GroupClicks {\n    return GroupClicksFromJSONTyped(json, false);\n}\n\nexport function GroupClicksFromJSONTyped(json: any, ignoreDiscriminator: boolean): GroupClicks {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'unit': json['unit'] == null ? undefined : json['unit'],\n        'units': json['units'] == null ? undefined : json['units'],\n        'unit_reference': json['unit_reference'] == null ? undefined : json['unit_reference'],\n        'data': json['data'] == null ? undefined : ((json['data'] as Array<any>).map(CountItemFromJSON)),\n    };\n}\n\nexport function GroupClicksToJSON(json: any): GroupClicks {\n    return GroupClicksToJSONTyped(json, false);\n}\n\nexport function GroupClicksToJSONTyped(value?: GroupClicks | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'unit': value['unit'],\n        'units': value['units'],\n        'unit_reference': value['unit_reference'],\n        'data': value['data'] == null ? undefined : ((value['data'] as Array<any>).map(CountItemToJSON)),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 * Search constraints used to resolve links or QR codes for export. Required for links_list and qr_codes_list.\n * @export\n * @interface GroupExportFilter\n */\nexport interface GroupExportFilter {\n    /**\n     * \n     * @type {Array<string>}\n     * @memberof GroupExportFilter\n     */\n    tags?: Array<string>;\n    /**\n     * \n     * @type {string}\n     * @memberof GroupExportFilter\n     */\n    domain?: string;\n    /**\n     * Filter by archive state.\n     * @type {GroupExportFilterArchivedEnum}\n     * @memberof GroupExportFilter\n     */\n    archived?: GroupExportFilterArchivedEnum;\n    /**\n     * Free-text search query.\n     * @type {string}\n     * @memberof GroupExportFilter\n     */\n    query?: string;\n    /**\n     * Include items created at or after this Unix timestamp (UTC).\n     * @type {number}\n     * @memberof GroupExportFilter\n     */\n    created_after?: number;\n    /**\n     * Include items created before this Unix timestamp (UTC).\n     * @type {number}\n     * @memberof GroupExportFilter\n     */\n    created_before?: number;\n    /**\n     * Filter links by campaign GUID. Ignored for qr_codes_list.\n     * @type {string}\n     * @memberof GroupExportFilter\n     */\n    campaign_guid?: string;\n}\n\n/**\n* @export\n* @enum {string}\n*/\nexport enum GroupExportFilterArchivedEnum {\n    on = 'on',\n    off = 'off',\n    both = 'both'\n}\n\n\n/**\n * Check if a given object implements the GroupExportFilter interface.\n */\nexport function instanceOfGroupExportFilter(value: object): value is GroupExportFilter {\n    return true;\n}\n\nexport function GroupExportFilterFromJSON(json: any): GroupExportFilter {\n    return GroupExportFilterFromJSONTyped(json, false);\n}\n\nexport function GroupExportFilterFromJSONTyped(json: any, ignoreDiscriminator: boolean): GroupExportFilter {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'tags': json['tags'] == null ? undefined : json['tags'],\n        'domain': json['domain'] == null ? undefined : json['domain'],\n        'archived': json['archived'] == null ? undefined : json['archived'],\n        'query': json['query'] == null ? undefined : json['query'],\n        'created_after': json['created_after'] == null ? undefined : json['created_after'],\n        'created_before': json['created_before'] == null ? undefined : json['created_before'],\n        'campaign_guid': json['campaign_guid'] == null ? undefined : json['campaign_guid'],\n    };\n}\n\nexport function GroupExportFilterToJSON(json: any): GroupExportFilter {\n    return GroupExportFilterToJSONTyped(json, false);\n}\n\nexport function GroupExportFilterToJSONTyped(value?: GroupExportFilter | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'tags': value['tags'],\n        'domain': value['domain'],\n        'archived': value['archived'],\n        'query': value['query'],\n        'created_after': value['created_after'],\n        'created_before': value['created_before'],\n        'campaign_guid': value['campaign_guid'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { GroupExportFilter } from './GroupExportFilter';\nimport {\n    GroupExportFilterFromJSON,\n    GroupExportFilterFromJSONTyped,\n    GroupExportFilterToJSON,\n    GroupExportFilterToJSONTyped,\n} from './GroupExportFilter';\n\n/**\n * \n * @export\n * @interface GroupExportRequestBody\n */\nexport interface GroupExportRequestBody {\n    /**\n     * Which export shape to produce.\n     * @type {GroupExportRequestBodyExportTypeEnum}\n     * @memberof GroupExportRequestBody\n     */\n    export_type: GroupExportRequestBodyExportTypeEnum;\n    /**\n     * Fully qualified bitlinks (e.g. \"bit.ly/abc\"). Used by export_type link_engagements_batch when\n     * the caller already knows the exact links. Mutually exclusive with filter (provide one or the other).\n     * \n     * @type {Array<string>}\n     * @memberof GroupExportRequestBody\n     */\n    bitlinks?: Array<string>;\n    /**\n     * Start of the metrics date range (Unix seconds, UTC). Clamped to the caller's tier data window.\n     * For link_engagements_batch, required together with unix_to unless the tier max-history default applies.\n     * For links_list or qr_codes_list, used when include_metrics is true.\n     * \n     * @type {number}\n     * @memberof GroupExportRequestBody\n     */\n    unix_from?: number;\n    /**\n     * End of the metrics date range (Unix seconds, UTC). See unix_from.\n     * @type {number}\n     * @memberof GroupExportRequestBody\n     */\n    unix_to?: number;\n    /**\n     * \n     * @type {GroupExportFilter}\n     * @memberof GroupExportRequestBody\n     */\n    filter?: GroupExportFilter;\n    /**\n     * When true on links_list or qr_codes_list, append clicks, scans, and button_clicks columns and apply\n     * the 200-row cap. Requires unix_from and unix_to (or tier-default window behavior where applicable).\n     * \n     * @type {boolean}\n     * @memberof GroupExportRequestBody\n     */\n    include_metrics?: boolean;\n}\n\n/**\n* @export\n* @enum {string}\n*/\nexport enum GroupExportRequestBodyExportTypeEnum {\n    link_engagements_batch = 'link_engagements_batch',\n    links_list = 'links_list',\n    qr_codes_list = 'qr_codes_list'\n}\n\n\n/**\n * Check if a given object implements the GroupExportRequestBody interface.\n */\nexport function instanceOfGroupExportRequestBody(value: object): value is GroupExportRequestBody {\n    if (!('export_type' in value) || value['export_type'] === undefined) return false;\n    return true;\n}\n\nexport function GroupExportRequestBodyFromJSON(json: any): GroupExportRequestBody {\n    return GroupExportRequestBodyFromJSONTyped(json, false);\n}\n\nexport function GroupExportRequestBodyFromJSONTyped(json: any, ignoreDiscriminator: boolean): GroupExportRequestBody {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'export_type': json['export_type'],\n        'bitlinks': json['bitlinks'] == null ? undefined : json['bitlinks'],\n        'unix_from': json['unix_from'] == null ? undefined : json['unix_from'],\n        'unix_to': json['unix_to'] == null ? undefined : json['unix_to'],\n        'filter': json['filter'] == null ? undefined : GroupExportFilterFromJSON(json['filter']),\n        'include_metrics': json['include_metrics'] == null ? undefined : json['include_metrics'],\n    };\n}\n\nexport function GroupExportRequestBodyToJSON(json: any): GroupExportRequestBody {\n    return GroupExportRequestBodyToJSONTyped(json, false);\n}\n\nexport function GroupExportRequestBodyToJSONTyped(value?: GroupExportRequestBody | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'export_type': value['export_type'],\n        'bitlinks': value['bitlinks'],\n        'unix_from': value['unix_from'],\n        'unix_to': value['unix_to'],\n        'filter': GroupExportFilterToJSON(value['filter']),\n        'include_metrics': value['include_metrics'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 GroupExportResponse\n */\nexport interface GroupExportResponse {\n    /**\n     * \n     * @type {GroupExportResponseExportTypeEnum}\n     * @memberof GroupExportResponse\n     */\n    export_type?: GroupExportResponseExportTypeEnum;\n    /**\n     * Suggested download filename for the CSV.\n     * @type {string}\n     * @memberof GroupExportResponse\n     */\n    filename?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof GroupExportResponse\n     */\n    media_type?: string;\n    /**\n     * Number of data rows in the CSV (excluding the header row).\n     * @type {number}\n     * @memberof GroupExportResponse\n     */\n    row_count?: number;\n    /**\n     * \n     * @type {number}\n     * @memberof GroupExportResponse\n     */\n    column_count?: number;\n    /**\n     * CSV column headers in order.\n     * @type {Array<string>}\n     * @memberof GroupExportResponse\n     */\n    columns?: Array<string>;\n    /**\n     * Size of the raw CSV bytes before base64 encoding.\n     * @type {number}\n     * @memberof GroupExportResponse\n     */\n    size_bytes?: number;\n    /**\n     * CSV file as a data:text/csv;base64,... URI.\n     * @type {string}\n     * @memberof GroupExportResponse\n     */\n    data_uri?: string;\n    /**\n     * Metrics window start (Unix seconds) when metrics are included in the export.\n     * @type {number}\n     * @memberof GroupExportResponse\n     */\n    unix_from?: number;\n    /**\n     * Metrics window end (Unix seconds) when metrics are included in the export.\n     * @type {number}\n     * @memberof GroupExportResponse\n     */\n    unix_to?: number;\n    /**\n     * True when the match set exceeded the per-request row cap and only the first cap rows were exported.\n     * @type {boolean}\n     * @memberof GroupExportResponse\n     */\n    truncated?: boolean;\n}\n\n/**\n* @export\n* @enum {string}\n*/\nexport enum GroupExportResponseExportTypeEnum {\n    link_engagements_batch = 'link_engagements_batch',\n    links_list = 'links_list',\n    qr_codes_list = 'qr_codes_list'\n}\n\n\n/**\n * Check if a given object implements the GroupExportResponse interface.\n */\nexport function instanceOfGroupExportResponse(value: object): value is GroupExportResponse {\n    return true;\n}\n\nexport function GroupExportResponseFromJSON(json: any): GroupExportResponse {\n    return GroupExportResponseFromJSONTyped(json, false);\n}\n\nexport function GroupExportResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): GroupExportResponse {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'export_type': json['export_type'] == null ? undefined : json['export_type'],\n        'filename': json['filename'] == null ? undefined : json['filename'],\n        'media_type': json['media_type'] == null ? undefined : json['media_type'],\n        'row_count': json['row_count'] == null ? undefined : json['row_count'],\n        'column_count': json['column_count'] == null ? undefined : json['column_count'],\n        'columns': json['columns'] == null ? undefined : json['columns'],\n        'size_bytes': json['size_bytes'] == null ? undefined : json['size_bytes'],\n        'data_uri': json['data_uri'] == null ? undefined : json['data_uri'],\n        'unix_from': json['unix_from'] == null ? undefined : json['unix_from'],\n        'unix_to': json['unix_to'] == null ? undefined : json['unix_to'],\n        'truncated': json['truncated'] == null ? undefined : json['truncated'],\n    };\n}\n\nexport function GroupExportResponseToJSON(json: any): GroupExportResponse {\n    return GroupExportResponseToJSONTyped(json, false);\n}\n\nexport function GroupExportResponseToJSONTyped(value?: GroupExportResponse | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'export_type': value['export_type'],\n        'filename': value['filename'],\n        'media_type': value['media_type'],\n        'row_count': value['row_count'],\n        'column_count': value['column_count'],\n        'columns': value['columns'],\n        'size_bytes': value['size_bytes'],\n        'data_uri': value['data_uri'],\n        'unix_from': value['unix_from'],\n        'unix_to': value['unix_to'],\n        'truncated': value['truncated'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 GroupConsumableFeatureUsage\n */\nexport interface GroupConsumableFeatureUsage {\n    /**\n     * \n     * @type {string}\n     * @memberof GroupConsumableFeatureUsage\n     */\n    name?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof GroupConsumableFeatureUsage\n     */\n    description?: string;\n    /**\n     * \n     * @type {number}\n     * @memberof GroupConsumableFeatureUsage\n     */\n    count?: number;\n}\n\n/**\n * Check if a given object implements the GroupConsumableFeatureUsage interface.\n */\nexport function instanceOfGroupConsumableFeatureUsage(value: object): value is GroupConsumableFeatureUsage {\n    return true;\n}\n\nexport function GroupConsumableFeatureUsageFromJSON(json: any): GroupConsumableFeatureUsage {\n    return GroupConsumableFeatureUsageFromJSONTyped(json, false);\n}\n\nexport function GroupConsumableFeatureUsageFromJSONTyped(json: any, ignoreDiscriminator: boolean): GroupConsumableFeatureUsage {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'name': json['name'] == null ? undefined : json['name'],\n        'description': json['description'] == null ? undefined : json['description'],\n        'count': json['count'] == null ? undefined : json['count'],\n    };\n}\n\nexport function GroupConsumableFeatureUsageToJSON(json: any): GroupConsumableFeatureUsage {\n    return GroupConsumableFeatureUsageToJSONTyped(json, false);\n}\n\nexport function GroupConsumableFeatureUsageToJSONTyped(value?: GroupConsumableFeatureUsage | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'name': value['name'],\n        'description': value['description'],\n        'count': value['count'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { GroupConsumableFeatureUsage } from './GroupConsumableFeatureUsage';\nimport {\n    GroupConsumableFeatureUsageFromJSON,\n    GroupConsumableFeatureUsageFromJSONTyped,\n    GroupConsumableFeatureUsageToJSON,\n    GroupConsumableFeatureUsageToJSONTyped,\n} from './GroupConsumableFeatureUsage';\n\n/**\n * \n * @export\n * @interface GroupFeatureUsage\n */\nexport interface GroupFeatureUsage {\n    /**\n     * the group's guid\n     * @type {string}\n     * @memberof GroupFeatureUsage\n     */\n    group_guid: string;\n    /**\n     * an array of all of the group's consumable feature usage\n     * @type {Array<GroupConsumableFeatureUsage>}\n     * @memberof GroupFeatureUsage\n     */\n    limit_usage: Array<GroupConsumableFeatureUsage>;\n}\n\n/**\n * Check if a given object implements the GroupFeatureUsage interface.\n */\nexport function instanceOfGroupFeatureUsage(value: object): value is GroupFeatureUsage {\n    if (!('group_guid' in value) || value['group_guid'] === undefined) return false;\n    if (!('limit_usage' in value) || value['limit_usage'] === undefined) return false;\n    return true;\n}\n\nexport function GroupFeatureUsageFromJSON(json: any): GroupFeatureUsage {\n    return GroupFeatureUsageFromJSONTyped(json, false);\n}\n\nexport function GroupFeatureUsageFromJSONTyped(json: any, ignoreDiscriminator: boolean): GroupFeatureUsage {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'group_guid': json['group_guid'],\n        'limit_usage': ((json['limit_usage'] as Array<any>).map(GroupConsumableFeatureUsageFromJSON)),\n    };\n}\n\nexport function GroupFeatureUsageToJSON(json: any): GroupFeatureUsage {\n    return GroupFeatureUsageToJSONTyped(json, false);\n}\n\nexport function GroupFeatureUsageToJSONTyped(value?: GroupFeatureUsage | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'group_guid': value['group_guid'],\n        'limit_usage': ((value['limit_usage'] as Array<any>).map(GroupConsumableFeatureUsageToJSON)),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 HistoricalUsage\n */\nexport interface HistoricalUsage {\n    /**\n     * the usage count during the time period\n     * @type {number}\n     * @memberof HistoricalUsage\n     */\n    count?: number;\n    /**\n     * ISO_TIMESTAMP of the beginning of the time period\n     * @type {string}\n     * @memberof HistoricalUsage\n     */\n    unit_start?: string;\n}\n\n/**\n * Check if a given object implements the HistoricalUsage interface.\n */\nexport function instanceOfHistoricalUsage(value: object): value is HistoricalUsage {\n    return true;\n}\n\nexport function HistoricalUsageFromJSON(json: any): HistoricalUsage {\n    return HistoricalUsageFromJSONTyped(json, false);\n}\n\nexport function HistoricalUsageFromJSONTyped(json: any, ignoreDiscriminator: boolean): HistoricalUsage {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'count': json['count'] == null ? undefined : json['count'],\n        'unit_start': json['unit_start'] == null ? undefined : json['unit_start'],\n    };\n}\n\nexport function HistoricalUsageToJSON(json: any): HistoricalUsage {\n    return HistoricalUsageToJSONTyped(json, false);\n}\n\nexport function HistoricalUsageToJSONTyped(value?: HistoricalUsage | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'count': value['count'],\n        'unit_start': value['unit_start'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { HistoricalUsage } from './HistoricalUsage';\nimport {\n    HistoricalUsageFromJSON,\n    HistoricalUsageFromJSONTyped,\n    HistoricalUsageToJSON,\n    HistoricalUsageToJSONTyped,\n} from './HistoricalUsage';\n\n/**\n * \n * @export\n * @interface HistoricalFeatureUsage\n */\nexport interface HistoricalFeatureUsage {\n    /**\n     * feature name\n     * @type {string}\n     * @memberof HistoricalFeatureUsage\n     */\n    name?: string;\n    /**\n     * \n     * @type {Array<HistoricalUsage>}\n     * @memberof HistoricalFeatureUsage\n     */\n    usage?: Array<HistoricalUsage>;\n}\n\n/**\n * Check if a given object implements the HistoricalFeatureUsage interface.\n */\nexport function instanceOfHistoricalFeatureUsage(value: object): value is HistoricalFeatureUsage {\n    return true;\n}\n\nexport function HistoricalFeatureUsageFromJSON(json: any): HistoricalFeatureUsage {\n    return HistoricalFeatureUsageFromJSONTyped(json, false);\n}\n\nexport function HistoricalFeatureUsageFromJSONTyped(json: any, ignoreDiscriminator: boolean): HistoricalFeatureUsage {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'name': json['name'] == null ? undefined : json['name'],\n        'usage': json['usage'] == null ? undefined : ((json['usage'] as Array<any>).map(HistoricalUsageFromJSON)),\n    };\n}\n\nexport function HistoricalFeatureUsageToJSON(json: any): HistoricalFeatureUsage {\n    return HistoricalFeatureUsageToJSONTyped(json, false);\n}\n\nexport function HistoricalFeatureUsageToJSONTyped(value?: HistoricalFeatureUsage | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'name': value['name'],\n        'usage': value['usage'] == null ? undefined : ((value['usage'] as Array<any>).map(HistoricalUsageToJSON)),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { HistoricalFeatureUsage } from './HistoricalFeatureUsage';\nimport {\n    HistoricalFeatureUsageFromJSON,\n    HistoricalFeatureUsageFromJSONTyped,\n    HistoricalFeatureUsageToJSON,\n    HistoricalFeatureUsageToJSONTyped,\n} from './HistoricalFeatureUsage';\n\n/**\n * \n * @export\n * @interface GroupHistoricalUsage\n */\nexport interface GroupHistoricalUsage {\n    /**\n     * the group's guid\n     * @type {string}\n     * @memberof GroupHistoricalUsage\n     */\n    group_guid: string;\n    /**\n     * A unit of time (day, week, or month)\n     * @type {string}\n     * @memberof GroupHistoricalUsage\n     */\n    unit: string;\n    /**\n     * Start date (format \"2006-01-02\") of the historical usage\n     * @type {string}\n     * @memberof GroupHistoricalUsage\n     */\n    start_date: string;\n    /**\n     * End date (format \"2006-01-02\") of the historical usage\n     * @type {string}\n     * @memberof GroupHistoricalUsage\n     */\n    end_date: string;\n    /**\n     * an array of all of the group's historical feature usage\n     * @type {Array<HistoricalFeatureUsage>}\n     * @memberof GroupHistoricalUsage\n     */\n    historical_limit_usage: Array<HistoricalFeatureUsage>;\n}\n\n/**\n * Check if a given object implements the GroupHistoricalUsage interface.\n */\nexport function instanceOfGroupHistoricalUsage(value: object): value is GroupHistoricalUsage {\n    if (!('group_guid' in value) || value['group_guid'] === undefined) return false;\n    if (!('unit' in value) || value['unit'] === undefined) return false;\n    if (!('start_date' in value) || value['start_date'] === undefined) return false;\n    if (!('end_date' in value) || value['end_date'] === undefined) return false;\n    if (!('historical_limit_usage' in value) || value['historical_limit_usage'] === undefined) return false;\n    return true;\n}\n\nexport function GroupHistoricalUsageFromJSON(json: any): GroupHistoricalUsage {\n    return GroupHistoricalUsageFromJSONTyped(json, false);\n}\n\nexport function GroupHistoricalUsageFromJSONTyped(json: any, ignoreDiscriminator: boolean): GroupHistoricalUsage {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'group_guid': json['group_guid'],\n        'unit': json['unit'],\n        'start_date': json['start_date'],\n        'end_date': json['end_date'],\n        'historical_limit_usage': ((json['historical_limit_usage'] as Array<any>).map(HistoricalFeatureUsageFromJSON)),\n    };\n}\n\nexport function GroupHistoricalUsageToJSON(json: any): GroupHistoricalUsage {\n    return GroupHistoricalUsageToJSONTyped(json, false);\n}\n\nexport function GroupHistoricalUsageToJSONTyped(value?: GroupHistoricalUsage | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'group_guid': value['group_guid'],\n        'unit': value['unit'],\n        'start_date': value['start_date'],\n        'end_date': value['end_date'],\n        'historical_limit_usage': ((value['historical_limit_usage'] as Array<any>).map(HistoricalFeatureUsageToJSON)),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 GroupPreferences\n */\nexport interface GroupPreferences {\n    /**\n     * \n     * @type {string}\n     * @memberof GroupPreferences\n     */\n    group_guid?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof GroupPreferences\n     */\n    domain_preference?: string;\n}\n\n/**\n * Check if a given object implements the GroupPreferences interface.\n */\nexport function instanceOfGroupPreferences(value: object): value is GroupPreferences {\n    return true;\n}\n\nexport function GroupPreferencesFromJSON(json: any): GroupPreferences {\n    return GroupPreferencesFromJSONTyped(json, false);\n}\n\nexport function GroupPreferencesFromJSONTyped(json: any, ignoreDiscriminator: boolean): GroupPreferences {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'group_guid': json['group_guid'] == null ? undefined : json['group_guid'],\n        'domain_preference': json['domain_preference'] == null ? undefined : json['domain_preference'],\n    };\n}\n\nexport function GroupPreferencesToJSON(json: any): GroupPreferences {\n    return GroupPreferencesToJSONTyped(json, false);\n}\n\nexport function GroupPreferencesToJSONTyped(value?: GroupPreferences | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'group_guid': value['group_guid'],\n        'domain_preference': value['domain_preference'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 GroupUpdate\n */\nexport interface GroupUpdate {\n    /**\n     * \n     * @type {string}\n     * @memberof GroupUpdate\n     */\n    name?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof GroupUpdate\n     */\n    organization_guid?: string;\n    /**\n     * \n     * @type {Array<string>}\n     * @memberof GroupUpdate\n     */\n    bsds?: Array<string>;\n}\n\n/**\n * Check if a given object implements the GroupUpdate interface.\n */\nexport function instanceOfGroupUpdate(value: object): value is GroupUpdate {\n    return true;\n}\n\nexport function GroupUpdateFromJSON(json: any): GroupUpdate {\n    return GroupUpdateFromJSONTyped(json, false);\n}\n\nexport function GroupUpdateFromJSONTyped(json: any, ignoreDiscriminator: boolean): GroupUpdate {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'name': json['name'] == null ? undefined : json['name'],\n        'organization_guid': json['organization_guid'] == null ? undefined : json['organization_guid'],\n        'bsds': json['bsds'] == null ? undefined : json['bsds'],\n    };\n}\n\nexport function GroupUpdateToJSON(json: any): GroupUpdate {\n    return GroupUpdateToJSONTyped(json, false);\n}\n\nexport function GroupUpdateToJSONTyped(value?: GroupUpdate | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'name': value['name'],\n        'organization_guid': value['organization_guid'],\n        'bsds': value['bsds'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { Group } from './Group';\nimport {\n    GroupFromJSON,\n    GroupFromJSONTyped,\n    GroupToJSON,\n    GroupToJSONTyped,\n} from './Group';\n\n/**\n * \n * @export\n * @interface Groups\n */\nexport interface Groups {\n    /**\n     * \n     * @type {Array<Group>}\n     * @memberof Groups\n     */\n    groups: Array<Group>;\n}\n\n/**\n * Check if a given object implements the Groups interface.\n */\nexport function instanceOfGroups(value: object): value is Groups {\n    if (!('groups' in value) || value['groups'] === undefined) return false;\n    return true;\n}\n\nexport function GroupsFromJSON(json: any): Groups {\n    return GroupsFromJSONTyped(json, false);\n}\n\nexport function GroupsFromJSONTyped(json: any, ignoreDiscriminator: boolean): Groups {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'groups': ((json['groups'] as Array<any>).map(GroupFromJSON)),\n    };\n}\n\nexport function GroupsToJSON(json: any): Groups {\n    return GroupsToJSONTyped(json, false);\n}\n\nexport function GroupsToJSONTyped(value?: Groups | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'groups': ((value['groups'] as Array<any>).map(GroupToJSON)),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { Metric } from './Metric';\nimport {\n    MetricFromJSON,\n    MetricFromJSONTyped,\n    MetricToJSON,\n    MetricToJSONTyped,\n} from './Metric';\n\n/**\n * \n * @export\n * @interface Metrics\n */\nexport interface Metrics {\n    /**\n     * \n     * @type {string}\n     * @memberof Metrics\n     */\n    unit?: string;\n    /**\n     * \n     * @type {number}\n     * @memberof Metrics\n     */\n    units?: number;\n    /**\n     * \n     * @type {MetricsFacetEnum}\n     * @memberof Metrics\n     */\n    facet?: MetricsFacetEnum;\n    /**\n     * \n     * @type {string}\n     * @memberof Metrics\n     */\n    unit_reference?: string;\n    /**\n     * \n     * @type {Array<Metric>}\n     * @memberof Metrics\n     */\n    metrics?: Array<Metric>;\n}\n\n/**\n* @export\n* @enum {string}\n*/\nexport enum MetricsFacetEnum {\n    countries = 'countries',\n    cities = 'cities',\n    devices = 'devices',\n    referrers = 'referrers',\n    referrers_by_domain = 'referrers_by_domain',\n    referring_domains = 'referring_domains',\n    referring_networks = 'referring_networks',\n    shorten_counts = 'shorten_counts',\n    destinations = 'destinations'\n}\n\n\n/**\n * Check if a given object implements the Metrics interface.\n */\nexport function instanceOfMetrics(value: object): value is Metrics {\n    return true;\n}\n\nexport function MetricsFromJSON(json: any): Metrics {\n    return MetricsFromJSONTyped(json, false);\n}\n\nexport function MetricsFromJSONTyped(json: any, ignoreDiscriminator: boolean): Metrics {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'unit': json['unit'] == null ? undefined : json['unit'],\n        'units': json['units'] == null ? undefined : json['units'],\n        'facet': json['facet'] == null ? undefined : json['facet'],\n        'unit_reference': json['unit_reference'] == null ? undefined : json['unit_reference'],\n        'metrics': json['metrics'] == null ? undefined : ((json['metrics'] as Array<any>).map(MetricFromJSON)),\n    };\n}\n\nexport function MetricsToJSON(json: any): Metrics {\n    return MetricsToJSONTyped(json, false);\n}\n\nexport function MetricsToJSONTyped(value?: Metrics | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'unit': value['unit'],\n        'units': value['units'],\n        'facet': value['facet'],\n        'unit_reference': value['unit_reference'],\n        'metrics': value['metrics'] == null ? undefined : ((value['metrics'] as Array<any>).map(MetricToJSON)),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 Tags\n */\nexport interface Tags {\n    /**\n     * \n     * @type {Array<string>}\n     * @memberof Tags\n     */\n    tags?: Array<string>;\n}\n\n/**\n * Check if a given object implements the Tags interface.\n */\nexport function instanceOfTags(value: object): value is Tags {\n    return true;\n}\n\nexport function TagsFromJSON(json: any): Tags {\n    return TagsFromJSONTyped(json, false);\n}\n\nexport function TagsFromJSONTyped(json: any, ignoreDiscriminator: boolean): Tags {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'tags': json['tags'] == null ? undefined : json['tags'],\n    };\n}\n\nexport function TagsToJSON(json: any): Tags {\n    return TagsToJSONTyped(json, false);\n}\n\nexport function TagsToJSONTyped(value?: Tags | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'tags': value['tags'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 BadRequest,\n    BadRequestFromJSON,\n    BadRequestToJSON,\n} from '../models/BadRequest';\nimport {\n    type CityMetrics,\n    CityMetricsFromJSON,\n    CityMetricsToJSON,\n} from '../models/CityMetrics';\nimport {\n    type ClickMetrics,\n    ClickMetricsFromJSON,\n    ClickMetricsToJSON,\n} from '../models/ClickMetrics';\nimport {\n    type DeviceMetrics,\n    DeviceMetricsFromJSON,\n    DeviceMetricsToJSON,\n} from '../models/DeviceMetrics';\nimport {\n    type Forbidden,\n    ForbiddenFromJSON,\n    ForbiddenToJSON,\n} from '../models/Forbidden';\nimport {\n    type GetGroupLinkClicksByDevice200Response,\n    GetGroupLinkClicksByDevice200ResponseFromJSON,\n    GetGroupLinkClicksByDevice200ResponseToJSON,\n} from '../models/GetGroupLinkClicksByDevice200Response';\nimport {\n    type GetGroupTopCodeScans200Response,\n    GetGroupTopCodeScans200ResponseFromJSON,\n    GetGroupTopCodeScans200ResponseToJSON,\n} from '../models/GetGroupTopCodeScans200Response';\nimport {\n    type Group,\n    GroupFromJSON,\n    GroupToJSON,\n} from '../models/Group';\nimport {\n    type GroupClicks,\n    GroupClicksFromJSON,\n    GroupClicksToJSON,\n} from '../models/GroupClicks';\nimport {\n    type GroupExportRequestBody,\n    GroupExportRequestBodyFromJSON,\n    GroupExportRequestBodyToJSON,\n} from '../models/GroupExportRequestBody';\nimport {\n    type GroupExportResponse,\n    GroupExportResponseFromJSON,\n    GroupExportResponseToJSON,\n} from '../models/GroupExportResponse';\nimport {\n    type GroupFeatureUsage,\n    GroupFeatureUsageFromJSON,\n    GroupFeatureUsageToJSON,\n} from '../models/GroupFeatureUsage';\nimport {\n    type GroupHistoricalUsage,\n    GroupHistoricalUsageFromJSON,\n    GroupHistoricalUsageToJSON,\n} from '../models/GroupHistoricalUsage';\nimport {\n    type GroupPreferences,\n    GroupPreferencesFromJSON,\n    GroupPreferencesToJSON,\n} from '../models/GroupPreferences';\nimport {\n    type GroupUpdate,\n    GroupUpdateFromJSON,\n    GroupUpdateToJSON,\n} from '../models/GroupUpdate';\nimport {\n    type Groups,\n    GroupsFromJSON,\n    GroupsToJSON,\n} from '../models/Groups';\nimport {\n    type InternalError,\n    InternalErrorFromJSON,\n    InternalErrorToJSON,\n} from '../models/InternalError';\nimport {\n    type Metrics,\n    MetricsFromJSON,\n    MetricsToJSON,\n} from '../models/Metrics';\nimport {\n    type MonthlyLimitExceeded,\n    MonthlyLimitExceededFromJSON,\n    MonthlyLimitExceededToJSON,\n} from '../models/MonthlyLimitExceeded';\nimport {\n    type NotFound,\n    NotFoundFromJSON,\n    NotFoundToJSON,\n} from '../models/NotFound';\nimport {\n    type SortedLinks,\n    SortedLinksFromJSON,\n    SortedLinksToJSON,\n} from '../models/SortedLinks';\nimport {\n    type Tags,\n    TagsFromJSON,\n    TagsToJSON,\n} from '../models/Tags';\nimport {\n    type TemporarilyUnavailable,\n    TemporarilyUnavailableFromJSON,\n    TemporarilyUnavailableToJSON,\n} from '../models/TemporarilyUnavailable';\nimport {\n    type TimeUnit,\n    TimeUnitFromJSON,\n    TimeUnitToJSON,\n} from '../models/TimeUnit';\nimport {\n    type TimeUnitDWM,\n    TimeUnitDWMFromJSON,\n    TimeUnitDWMToJSON,\n} from '../models/TimeUnitDWM';\nimport {\n    type UnprocessableEntity,\n    UnprocessableEntityFromJSON,\n    UnprocessableEntityToJSON,\n} from '../models/UnprocessableEntity';\nimport {\n    type UpgradeRequired,\n    UpgradeRequiredFromJSON,\n    UpgradeRequiredToJSON,\n} from '../models/UpgradeRequired';\n\nexport interface GetGroupRequest {\n    group_guid: string;\n}\n\nexport interface GetGroupClicksRequest {\n    group_guid: string;\n    unit: TimeUnit;\n    units: number;\n    unit_reference?: string;\n}\n\nexport interface GetGroupCodeScansByCityRequest {\n    group_guid: string;\n    unit: TimeUnit;\n    units: number;\n    unit_reference?: string;\n}\n\nexport interface GetGroupCodeScansByCountryRequest {\n    group_guid: string;\n    unit: TimeUnit;\n    units: number;\n    unit_reference?: string;\n}\n\nexport interface GetGroupCodeScansOverTimeRequest {\n    group_guid: string;\n    unit: TimeUnit;\n    units: number;\n    unit_reference?: string;\n}\n\nexport interface GetGroupFeatureUsageRequest {\n    group_guid: string;\n    name?: Array<string>;\n}\n\nexport interface GetGroupHistoricalUsageRequest {\n    group_guid: string;\n    name?: Array<string>;\n    start_date?: string;\n    end_date?: string;\n    unit?: TimeUnitDWM;\n}\n\nexport interface GetGroupLinkClicksByCityRequest {\n    group_guid: string;\n    unit: TimeUnit;\n    units: number;\n    size?: number;\n    unit_reference?: string;\n}\n\nexport interface GetGroupLinkClicksByCountryRequest {\n    group_guid: string;\n    unit: TimeUnit;\n    units: number;\n    size?: number;\n    unit_reference?: string;\n}\n\nexport interface GetGroupLinkClicksByDeviceRequest {\n    group_guid: string;\n    unit: TimeUnit;\n    units: number;\n    size?: number;\n    unit_reference?: string;\n}\n\nexport interface GetGroupLinkClicksByReferrerRequest {\n    group_guid: string;\n    unit: TimeUnit;\n    units: number;\n    size?: number;\n    unit_reference?: string;\n}\n\nexport interface GetGroupLinkClicksOverTimeRequest {\n    group_guid: string;\n    unit: TimeUnit;\n    units: number;\n    unit_reference?: string;\n}\n\nexport interface GetGroupMetricsByCitiesRequest {\n    group_guid: string;\n    unit: TimeUnit;\n    units: number;\n    size?: number;\n    unit_reference?: string;\n}\n\nexport interface GetGroupMetricsByCountriesRequest {\n    group_guid: string;\n    unit: TimeUnit;\n    units: number;\n    size?: number;\n    unit_reference?: string;\n}\n\nexport interface GetGroupMetricsByDevicesRequest {\n    group_guid: string;\n    unit: TimeUnit;\n    units: number;\n    size?: number;\n    unit_reference?: string;\n}\n\nexport interface GetGroupMetricsByReferrerRequest {\n    group_guid: string;\n    unit: TimeUnit;\n    units: number;\n    size?: number;\n    unit_reference?: string;\n}\n\nexport interface GetGroupMetricsByReferringNetworksRequest {\n    group_guid: string;\n    unit: TimeUnit;\n    units: number;\n    size?: number;\n    unit_reference?: string;\n}\n\nexport interface GetGroupMetricsOverTimeRequest {\n    group_guid: string;\n    unit: TimeUnit;\n    units: number;\n    unit_reference?: string;\n}\n\nexport interface GetGroupPreferencesRequest {\n    group_guid: string;\n}\n\nexport interface GetGroupShortenCountsRequest {\n    group_guid: string;\n    unit: TimeUnit;\n    units: number;\n    unit_reference?: string;\n}\n\nexport interface GetGroupTagsRequest {\n    group_guid: string;\n    type?: GetGroupTagsTypeEnum;\n}\n\nexport interface GetGroupTopCodeScansRequest {\n    group_guid: string;\n    unit: TimeUnit;\n    units: number;\n    unit_reference?: string;\n    decoupled?: boolean;\n}\n\nexport interface GetGroupTopLinkClicksRequest {\n    group_guid: string;\n    unit: TimeUnit;\n    units: number;\n    size?: number;\n    unit_reference?: string;\n}\n\nexport interface GetGroupTopMetricsRequest {\n    group_guid: string;\n    unit: TimeUnit;\n    units: number;\n    size?: number;\n    unit_reference?: string;\n}\n\nexport interface GetGroupsRequest {\n    organization_guid?: string;\n}\n\nexport interface PostCreateGroupExportRequest {\n    group_guid: string;\n    group_export_request_body: GroupExportRequestBody;\n}\n\nexport interface UpdateGroupRequest {\n    group_guid: string;\n    group_update: GroupUpdate;\n}\n\nexport interface UpdateGroupPreferencesRequest {\n    group_guid: string;\n    group_preferences: GroupPreferences;\n}\n\n/**\n * \n */\nexport class GroupsApi extends runtime.BaseAPI {\n\n    /**\n     * Creates request options for getGroup without sending the request\n     */\n    async getGroupRequestOpts(requestParameters: GetGroupRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['group_guid'] == null) {\n            throw new runtime.RequiredError(\n                'group_guid',\n                'Required parameter \"group_guid\" was null or undefined when calling getGroup().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/groups/{group_guid}`;\n        urlPath = urlPath.replace('{group_guid}', encodeURIComponent(String(requestParameters['group_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns details for a group.\n     * Retrieve a Group\n     */\n    async getGroupRaw(requestParameters: GetGroupRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Group>> {\n        const requestOptions = await this.getGroupRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => GroupFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns details for a group.\n     * Retrieve a Group\n     */\n    async getGroup(requestParameters: GetGroupRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Group> {\n        const response = await this.getGroupRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getGroupClicks without sending the request\n     */\n    async getGroupClicksRequestOpts(requestParameters: GetGroupClicksRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['group_guid'] == null) {\n            throw new runtime.RequiredError(\n                'group_guid',\n                'Required parameter \"group_guid\" was null or undefined when calling getGroupClicks().'\n            );\n        }\n\n        if (requestParameters['unit'] == null) {\n            throw new runtime.RequiredError(\n                'unit',\n                'Required parameter \"unit\" was null or undefined when calling getGroupClicks().'\n            );\n        }\n\n        if (requestParameters['units'] == null) {\n            throw new runtime.RequiredError(\n                'units',\n                'Required parameter \"units\" was null or undefined when calling getGroupClicks().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['unit'] != null) {\n            queryParameters['unit'] = requestParameters['unit'];\n        }\n\n        if (requestParameters['units'] != null) {\n            queryParameters['units'] = requestParameters['units'];\n        }\n\n        if (requestParameters['unit_reference'] != null) {\n            queryParameters['unit_reference'] = requestParameters['unit_reference'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/groups/{group_guid}/clicks`;\n        urlPath = urlPath.replace('{group_guid}', encodeURIComponent(String(requestParameters['group_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * get number of clicks on bitlinks in a group\n     * Get clicks by group\n     */\n    async getGroupClicksRaw(requestParameters: GetGroupClicksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GroupClicks>> {\n        const requestOptions = await this.getGroupClicksRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => GroupClicksFromJSON(jsonValue));\n    }\n\n    /**\n     * get number of clicks on bitlinks in a group\n     * Get clicks by group\n     */\n    async getGroupClicks(requestParameters: GetGroupClicksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GroupClicks> {\n        const response = await this.getGroupClicksRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getGroupCodeScansByCity without sending the request\n     */\n    async getGroupCodeScansByCityRequestOpts(requestParameters: GetGroupCodeScansByCityRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['group_guid'] == null) {\n            throw new runtime.RequiredError(\n                'group_guid',\n                'Required parameter \"group_guid\" was null or undefined when calling getGroupCodeScansByCity().'\n            );\n        }\n\n        if (requestParameters['unit'] == null) {\n            throw new runtime.RequiredError(\n                'unit',\n                'Required parameter \"unit\" was null or undefined when calling getGroupCodeScansByCity().'\n            );\n        }\n\n        if (requestParameters['units'] == null) {\n            throw new runtime.RequiredError(\n                'units',\n                'Required parameter \"units\" was null or undefined when calling getGroupCodeScansByCity().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['unit'] != null) {\n            queryParameters['unit'] = requestParameters['unit'];\n        }\n\n        if (requestParameters['units'] != null) {\n            queryParameters['units'] = requestParameters['units'];\n        }\n\n        if (requestParameters['unit_reference'] != null) {\n            queryParameters['unit_reference'] = requestParameters['unit_reference'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/groups/{group_guid}/codes/scans/cities`;\n        urlPath = urlPath.replace('{group_guid}', encodeURIComponent(String(requestParameters['group_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Get QR code scan metrics for a group broken down by city.\n     * Get Scan Metrics for a Group by City\n     */\n    async getGroupCodeScansByCityRaw(requestParameters: GetGroupCodeScansByCityRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CityMetrics>> {\n        const requestOptions = await this.getGroupCodeScansByCityRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => CityMetricsFromJSON(jsonValue));\n    }\n\n    /**\n     * Get QR code scan metrics for a group broken down by city.\n     * Get Scan Metrics for a Group by City\n     */\n    async getGroupCodeScansByCity(requestParameters: GetGroupCodeScansByCityRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CityMetrics> {\n        const response = await this.getGroupCodeScansByCityRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getGroupCodeScansByCountry without sending the request\n     */\n    async getGroupCodeScansByCountryRequestOpts(requestParameters: GetGroupCodeScansByCountryRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['group_guid'] == null) {\n            throw new runtime.RequiredError(\n                'group_guid',\n                'Required parameter \"group_guid\" was null or undefined when calling getGroupCodeScansByCountry().'\n            );\n        }\n\n        if (requestParameters['unit'] == null) {\n            throw new runtime.RequiredError(\n                'unit',\n                'Required parameter \"unit\" was null or undefined when calling getGroupCodeScansByCountry().'\n            );\n        }\n\n        if (requestParameters['units'] == null) {\n            throw new runtime.RequiredError(\n                'units',\n                'Required parameter \"units\" was null or undefined when calling getGroupCodeScansByCountry().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['unit'] != null) {\n            queryParameters['unit'] = requestParameters['unit'];\n        }\n\n        if (requestParameters['units'] != null) {\n            queryParameters['units'] = requestParameters['units'];\n        }\n\n        if (requestParameters['unit_reference'] != null) {\n            queryParameters['unit_reference'] = requestParameters['unit_reference'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/groups/{group_guid}/codes/scans/countries`;\n        urlPath = urlPath.replace('{group_guid}', encodeURIComponent(String(requestParameters['group_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Get QR code scan metrics for a group broken down by country.\n     * Get Scan Metrics for a Group by Country\n     */\n    async getGroupCodeScansByCountryRaw(requestParameters: GetGroupCodeScansByCountryRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ClickMetrics>> {\n        const requestOptions = await this.getGroupCodeScansByCountryRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => ClickMetricsFromJSON(jsonValue));\n    }\n\n    /**\n     * Get QR code scan metrics for a group broken down by country.\n     * Get Scan Metrics for a Group by Country\n     */\n    async getGroupCodeScansByCountry(requestParameters: GetGroupCodeScansByCountryRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ClickMetrics> {\n        const response = await this.getGroupCodeScansByCountryRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getGroupCodeScansOverTime without sending the request\n     */\n    async getGroupCodeScansOverTimeRequestOpts(requestParameters: GetGroupCodeScansOverTimeRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['group_guid'] == null) {\n            throw new runtime.RequiredError(\n                'group_guid',\n                'Required parameter \"group_guid\" was null or undefined when calling getGroupCodeScansOverTime().'\n            );\n        }\n\n        if (requestParameters['unit'] == null) {\n            throw new runtime.RequiredError(\n                'unit',\n                'Required parameter \"unit\" was null or undefined when calling getGroupCodeScansOverTime().'\n            );\n        }\n\n        if (requestParameters['units'] == null) {\n            throw new runtime.RequiredError(\n                'units',\n                'Required parameter \"units\" was null or undefined when calling getGroupCodeScansOverTime().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['unit'] != null) {\n            queryParameters['unit'] = requestParameters['unit'];\n        }\n\n        if (requestParameters['units'] != null) {\n            queryParameters['units'] = requestParameters['units'];\n        }\n\n        if (requestParameters['unit_reference'] != null) {\n            queryParameters['unit_reference'] = requestParameters['unit_reference'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/groups/{group_guid}/codes/scans/over_time`;\n        urlPath = urlPath.replace('{group_guid}', encodeURIComponent(String(requestParameters['group_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Get QR code scan metrics over time for a group.\n     * Get Scan Metrics for a Group Over Time\n     */\n    async getGroupCodeScansOverTimeRaw(requestParameters: GetGroupCodeScansOverTimeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GroupClicks>> {\n        const requestOptions = await this.getGroupCodeScansOverTimeRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => GroupClicksFromJSON(jsonValue));\n    }\n\n    /**\n     * Get QR code scan metrics over time for a group.\n     * Get Scan Metrics for a Group Over Time\n     */\n    async getGroupCodeScansOverTime(requestParameters: GetGroupCodeScansOverTimeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GroupClicks> {\n        const response = await this.getGroupCodeScansOverTimeRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getGroupFeatureUsage without sending the request\n     */\n    async getGroupFeatureUsageRequestOpts(requestParameters: GetGroupFeatureUsageRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['group_guid'] == null) {\n            throw new runtime.RequiredError(\n                'group_guid',\n                'Required parameter \"group_guid\" was null or undefined when calling getGroupFeatureUsage().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['name'] != null) {\n            queryParameters['name'] = requestParameters['name'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/groups/{group_guid}/feature_usage`;\n        urlPath = urlPath.replace('{group_guid}', encodeURIComponent(String(requestParameters['group_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Get a group\\'s current feature limit usage, optionally provide limit name(s) for usage on specific limit(s)\n     * Get limit usage for a group\n     */\n    async getGroupFeatureUsageRaw(requestParameters: GetGroupFeatureUsageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GroupFeatureUsage>> {\n        const requestOptions = await this.getGroupFeatureUsageRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => GroupFeatureUsageFromJSON(jsonValue));\n    }\n\n    /**\n     * Get a group\\'s current feature limit usage, optionally provide limit name(s) for usage on specific limit(s)\n     * Get limit usage for a group\n     */\n    async getGroupFeatureUsage(requestParameters: GetGroupFeatureUsageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GroupFeatureUsage> {\n        const response = await this.getGroupFeatureUsageRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getGroupHistoricalUsage without sending the request\n     */\n    async getGroupHistoricalUsageRequestOpts(requestParameters: GetGroupHistoricalUsageRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['group_guid'] == null) {\n            throw new runtime.RequiredError(\n                'group_guid',\n                'Required parameter \"group_guid\" was null or undefined when calling getGroupHistoricalUsage().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['name'] != null) {\n            queryParameters['name'] = requestParameters['name'];\n        }\n\n        if (requestParameters['start_date'] != null) {\n            queryParameters['start_date'] = requestParameters['start_date'];\n        }\n\n        if (requestParameters['end_date'] != null) {\n            queryParameters['end_date'] = requestParameters['end_date'];\n        }\n\n        if (requestParameters['unit'] != null) {\n            queryParameters['unit'] = requestParameters['unit'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/groups/{group_guid}/historical_usage`;\n        urlPath = urlPath.replace('{group_guid}', encodeURIComponent(String(requestParameters['group_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Get a group\\'s historical usage for specific limit(s) and date range. Refer to GET /v4/groups/{group_guid}/feature_usage endpoint response for available limit names.\n     * Get historical usage for a group\n     */\n    async getGroupHistoricalUsageRaw(requestParameters: GetGroupHistoricalUsageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GroupHistoricalUsage>> {\n        const requestOptions = await this.getGroupHistoricalUsageRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => GroupHistoricalUsageFromJSON(jsonValue));\n    }\n\n    /**\n     * Get a group\\'s historical usage for specific limit(s) and date range. Refer to GET /v4/groups/{group_guid}/feature_usage endpoint response for available limit names.\n     * Get historical usage for a group\n     */\n    async getGroupHistoricalUsage(requestParameters: GetGroupHistoricalUsageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GroupHistoricalUsage> {\n        const response = await this.getGroupHistoricalUsageRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getGroupLinkClicksByCity without sending the request\n     */\n    async getGroupLinkClicksByCityRequestOpts(requestParameters: GetGroupLinkClicksByCityRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['group_guid'] == null) {\n            throw new runtime.RequiredError(\n                'group_guid',\n                'Required parameter \"group_guid\" was null or undefined when calling getGroupLinkClicksByCity().'\n            );\n        }\n\n        if (requestParameters['unit'] == null) {\n            throw new runtime.RequiredError(\n                'unit',\n                'Required parameter \"unit\" was null or undefined when calling getGroupLinkClicksByCity().'\n            );\n        }\n\n        if (requestParameters['units'] == null) {\n            throw new runtime.RequiredError(\n                'units',\n                'Required parameter \"units\" was null or undefined when calling getGroupLinkClicksByCity().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['unit'] != null) {\n            queryParameters['unit'] = requestParameters['unit'];\n        }\n\n        if (requestParameters['units'] != null) {\n            queryParameters['units'] = requestParameters['units'];\n        }\n\n        if (requestParameters['size'] != null) {\n            queryParameters['size'] = requestParameters['size'];\n        }\n\n        if (requestParameters['unit_reference'] != null) {\n            queryParameters['unit_reference'] = requestParameters['unit_reference'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/groups/{group_guid}/links/clicks/cities`;\n        urlPath = urlPath.replace('{group_guid}', encodeURIComponent(String(requestParameters['group_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Get link clicks by city for all links in a group.\n     * Get Group Link Clicks by City\n     */\n    async getGroupLinkClicksByCityRaw(requestParameters: GetGroupLinkClicksByCityRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CityMetrics>> {\n        const requestOptions = await this.getGroupLinkClicksByCityRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => CityMetricsFromJSON(jsonValue));\n    }\n\n    /**\n     * Get link clicks by city for all links in a group.\n     * Get Group Link Clicks by City\n     */\n    async getGroupLinkClicksByCity(requestParameters: GetGroupLinkClicksByCityRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CityMetrics> {\n        const response = await this.getGroupLinkClicksByCityRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getGroupLinkClicksByCountry without sending the request\n     */\n    async getGroupLinkClicksByCountryRequestOpts(requestParameters: GetGroupLinkClicksByCountryRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['group_guid'] == null) {\n            throw new runtime.RequiredError(\n                'group_guid',\n                'Required parameter \"group_guid\" was null or undefined when calling getGroupLinkClicksByCountry().'\n            );\n        }\n\n        if (requestParameters['unit'] == null) {\n            throw new runtime.RequiredError(\n                'unit',\n                'Required parameter \"unit\" was null or undefined when calling getGroupLinkClicksByCountry().'\n            );\n        }\n\n        if (requestParameters['units'] == null) {\n            throw new runtime.RequiredError(\n                'units',\n                'Required parameter \"units\" was null or undefined when calling getGroupLinkClicksByCountry().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['unit'] != null) {\n            queryParameters['unit'] = requestParameters['unit'];\n        }\n\n        if (requestParameters['units'] != null) {\n            queryParameters['units'] = requestParameters['units'];\n        }\n\n        if (requestParameters['size'] != null) {\n            queryParameters['size'] = requestParameters['size'];\n        }\n\n        if (requestParameters['unit_reference'] != null) {\n            queryParameters['unit_reference'] = requestParameters['unit_reference'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/groups/{group_guid}/links/clicks/countries`;\n        urlPath = urlPath.replace('{group_guid}', encodeURIComponent(String(requestParameters['group_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Get link clicks by country for all links in a group.\n     * Get Group Link Clicks by Country\n     */\n    async getGroupLinkClicksByCountryRaw(requestParameters: GetGroupLinkClicksByCountryRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ClickMetrics>> {\n        const requestOptions = await this.getGroupLinkClicksByCountryRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => ClickMetricsFromJSON(jsonValue));\n    }\n\n    /**\n     * Get link clicks by country for all links in a group.\n     * Get Group Link Clicks by Country\n     */\n    async getGroupLinkClicksByCountry(requestParameters: GetGroupLinkClicksByCountryRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ClickMetrics> {\n        const response = await this.getGroupLinkClicksByCountryRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getGroupLinkClicksByDevice without sending the request\n     */\n    async getGroupLinkClicksByDeviceRequestOpts(requestParameters: GetGroupLinkClicksByDeviceRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['group_guid'] == null) {\n            throw new runtime.RequiredError(\n                'group_guid',\n                'Required parameter \"group_guid\" was null or undefined when calling getGroupLinkClicksByDevice().'\n            );\n        }\n\n        if (requestParameters['unit'] == null) {\n            throw new runtime.RequiredError(\n                'unit',\n                'Required parameter \"unit\" was null or undefined when calling getGroupLinkClicksByDevice().'\n            );\n        }\n\n        if (requestParameters['units'] == null) {\n            throw new runtime.RequiredError(\n                'units',\n                'Required parameter \"units\" was null or undefined when calling getGroupLinkClicksByDevice().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['unit'] != null) {\n            queryParameters['unit'] = requestParameters['unit'];\n        }\n\n        if (requestParameters['units'] != null) {\n            queryParameters['units'] = requestParameters['units'];\n        }\n\n        if (requestParameters['size'] != null) {\n            queryParameters['size'] = requestParameters['size'];\n        }\n\n        if (requestParameters['unit_reference'] != null) {\n            queryParameters['unit_reference'] = requestParameters['unit_reference'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/groups/{group_guid}/links/clicks/devices`;\n        urlPath = urlPath.replace('{group_guid}', encodeURIComponent(String(requestParameters['group_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Get link clicks by device for all links in a group.\n     * Get Group Link Clicks by Device\n     */\n    async getGroupLinkClicksByDeviceRaw(requestParameters: GetGroupLinkClicksByDeviceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetGroupLinkClicksByDevice200Response>> {\n        const requestOptions = await this.getGroupLinkClicksByDeviceRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => GetGroupLinkClicksByDevice200ResponseFromJSON(jsonValue));\n    }\n\n    /**\n     * Get link clicks by device for all links in a group.\n     * Get Group Link Clicks by Device\n     */\n    async getGroupLinkClicksByDevice(requestParameters: GetGroupLinkClicksByDeviceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetGroupLinkClicksByDevice200Response> {\n        const response = await this.getGroupLinkClicksByDeviceRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getGroupLinkClicksByReferrer without sending the request\n     */\n    async getGroupLinkClicksByReferrerRequestOpts(requestParameters: GetGroupLinkClicksByReferrerRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['group_guid'] == null) {\n            throw new runtime.RequiredError(\n                'group_guid',\n                'Required parameter \"group_guid\" was null or undefined when calling getGroupLinkClicksByReferrer().'\n            );\n        }\n\n        if (requestParameters['unit'] == null) {\n            throw new runtime.RequiredError(\n                'unit',\n                'Required parameter \"unit\" was null or undefined when calling getGroupLinkClicksByReferrer().'\n            );\n        }\n\n        if (requestParameters['units'] == null) {\n            throw new runtime.RequiredError(\n                'units',\n                'Required parameter \"units\" was null or undefined when calling getGroupLinkClicksByReferrer().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['unit'] != null) {\n            queryParameters['unit'] = requestParameters['unit'];\n        }\n\n        if (requestParameters['units'] != null) {\n            queryParameters['units'] = requestParameters['units'];\n        }\n\n        if (requestParameters['size'] != null) {\n            queryParameters['size'] = requestParameters['size'];\n        }\n\n        if (requestParameters['unit_reference'] != null) {\n            queryParameters['unit_reference'] = requestParameters['unit_reference'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/groups/{group_guid}/links/clicks/referrers`;\n        urlPath = urlPath.replace('{group_guid}', encodeURIComponent(String(requestParameters['group_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Get link clicks by referrer for all links in a group.\n     * Get Group Link Clicks by Referrer\n     */\n    async getGroupLinkClicksByReferrerRaw(requestParameters: GetGroupLinkClicksByReferrerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ClickMetrics>> {\n        const requestOptions = await this.getGroupLinkClicksByReferrerRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => ClickMetricsFromJSON(jsonValue));\n    }\n\n    /**\n     * Get link clicks by referrer for all links in a group.\n     * Get Group Link Clicks by Referrer\n     */\n    async getGroupLinkClicksByReferrer(requestParameters: GetGroupLinkClicksByReferrerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ClickMetrics> {\n        const response = await this.getGroupLinkClicksByReferrerRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getGroupLinkClicksOverTime without sending the request\n     */\n    async getGroupLinkClicksOverTimeRequestOpts(requestParameters: GetGroupLinkClicksOverTimeRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['group_guid'] == null) {\n            throw new runtime.RequiredError(\n                'group_guid',\n                'Required parameter \"group_guid\" was null or undefined when calling getGroupLinkClicksOverTime().'\n            );\n        }\n\n        if (requestParameters['unit'] == null) {\n            throw new runtime.RequiredError(\n                'unit',\n                'Required parameter \"unit\" was null or undefined when calling getGroupLinkClicksOverTime().'\n            );\n        }\n\n        if (requestParameters['units'] == null) {\n            throw new runtime.RequiredError(\n                'units',\n                'Required parameter \"units\" was null or undefined when calling getGroupLinkClicksOverTime().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['unit'] != null) {\n            queryParameters['unit'] = requestParameters['unit'];\n        }\n\n        if (requestParameters['units'] != null) {\n            queryParameters['units'] = requestParameters['units'];\n        }\n\n        if (requestParameters['unit_reference'] != null) {\n            queryParameters['unit_reference'] = requestParameters['unit_reference'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/groups/{group_guid}/links/clicks/over_time`;\n        urlPath = urlPath.replace('{group_guid}', encodeURIComponent(String(requestParameters['group_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Get link clicks over time for all links in a group.\n     * Get Group Link Clicks Over Time\n     */\n    async getGroupLinkClicksOverTimeRaw(requestParameters: GetGroupLinkClicksOverTimeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GroupClicks>> {\n        const requestOptions = await this.getGroupLinkClicksOverTimeRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => GroupClicksFromJSON(jsonValue));\n    }\n\n    /**\n     * Get link clicks over time for all links in a group.\n     * Get Group Link Clicks Over Time\n     */\n    async getGroupLinkClicksOverTime(requestParameters: GetGroupLinkClicksOverTimeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GroupClicks> {\n        const response = await this.getGroupLinkClicksOverTimeRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getGroupMetricsByCities without sending the request\n     */\n    async getGroupMetricsByCitiesRequestOpts(requestParameters: GetGroupMetricsByCitiesRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['group_guid'] == null) {\n            throw new runtime.RequiredError(\n                'group_guid',\n                'Required parameter \"group_guid\" was null or undefined when calling getGroupMetricsByCities().'\n            );\n        }\n\n        if (requestParameters['unit'] == null) {\n            throw new runtime.RequiredError(\n                'unit',\n                'Required parameter \"unit\" was null or undefined when calling getGroupMetricsByCities().'\n            );\n        }\n\n        if (requestParameters['units'] == null) {\n            throw new runtime.RequiredError(\n                'units',\n                'Required parameter \"units\" was null or undefined when calling getGroupMetricsByCities().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['unit'] != null) {\n            queryParameters['unit'] = requestParameters['unit'];\n        }\n\n        if (requestParameters['units'] != null) {\n            queryParameters['units'] = requestParameters['units'];\n        }\n\n        if (requestParameters['size'] != null) {\n            queryParameters['size'] = requestParameters['size'];\n        }\n\n        if (requestParameters['unit_reference'] != null) {\n            queryParameters['unit_reference'] = requestParameters['unit_reference'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/groups/{group_guid}/cities`;\n        urlPath = urlPath.replace('{group_guid}', encodeURIComponent(String(requestParameters['group_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns the geographic origins of click traffic by city for the specified group.\n     * Get Click Metrics for a Group by City\n     */\n    async getGroupMetricsByCitiesRaw(requestParameters: GetGroupMetricsByCitiesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CityMetrics>> {\n        const requestOptions = await this.getGroupMetricsByCitiesRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => CityMetricsFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns the geographic origins of click traffic by city for the specified group.\n     * Get Click Metrics for a Group by City\n     */\n    async getGroupMetricsByCities(requestParameters: GetGroupMetricsByCitiesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CityMetrics> {\n        const response = await this.getGroupMetricsByCitiesRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getGroupMetricsByCountries without sending the request\n     */\n    async getGroupMetricsByCountriesRequestOpts(requestParameters: GetGroupMetricsByCountriesRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['group_guid'] == null) {\n            throw new runtime.RequiredError(\n                'group_guid',\n                'Required parameter \"group_guid\" was null or undefined when calling getGroupMetricsByCountries().'\n            );\n        }\n\n        if (requestParameters['unit'] == null) {\n            throw new runtime.RequiredError(\n                'unit',\n                'Required parameter \"unit\" was null or undefined when calling getGroupMetricsByCountries().'\n            );\n        }\n\n        if (requestParameters['units'] == null) {\n            throw new runtime.RequiredError(\n                'units',\n                'Required parameter \"units\" was null or undefined when calling getGroupMetricsByCountries().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['unit'] != null) {\n            queryParameters['unit'] = requestParameters['unit'];\n        }\n\n        if (requestParameters['units'] != null) {\n            queryParameters['units'] = requestParameters['units'];\n        }\n\n        if (requestParameters['size'] != null) {\n            queryParameters['size'] = requestParameters['size'];\n        }\n\n        if (requestParameters['unit_reference'] != null) {\n            queryParameters['unit_reference'] = requestParameters['unit_reference'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/groups/{group_guid}/countries`;\n        urlPath = urlPath.replace('{group_guid}', encodeURIComponent(String(requestParameters['group_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns the geographic origins of click traffic by country for the specified group.\n     * Get Click Metrics for a Group by Country\n     */\n    async getGroupMetricsByCountriesRaw(requestParameters: GetGroupMetricsByCountriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ClickMetrics>> {\n        const requestOptions = await this.getGroupMetricsByCountriesRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => ClickMetricsFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns the geographic origins of click traffic by country for the specified group.\n     * Get Click Metrics for a Group by Country\n     */\n    async getGroupMetricsByCountries(requestParameters: GetGroupMetricsByCountriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ClickMetrics> {\n        const response = await this.getGroupMetricsByCountriesRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getGroupMetricsByDevices without sending the request\n     */\n    async getGroupMetricsByDevicesRequestOpts(requestParameters: GetGroupMetricsByDevicesRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['group_guid'] == null) {\n            throw new runtime.RequiredError(\n                'group_guid',\n                'Required parameter \"group_guid\" was null or undefined when calling getGroupMetricsByDevices().'\n            );\n        }\n\n        if (requestParameters['unit'] == null) {\n            throw new runtime.RequiredError(\n                'unit',\n                'Required parameter \"unit\" was null or undefined when calling getGroupMetricsByDevices().'\n            );\n        }\n\n        if (requestParameters['units'] == null) {\n            throw new runtime.RequiredError(\n                'units',\n                'Required parameter \"units\" was null or undefined when calling getGroupMetricsByDevices().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['unit'] != null) {\n            queryParameters['unit'] = requestParameters['unit'];\n        }\n\n        if (requestParameters['units'] != null) {\n            queryParameters['units'] = requestParameters['units'];\n        }\n\n        if (requestParameters['size'] != null) {\n            queryParameters['size'] = requestParameters['size'];\n        }\n\n        if (requestParameters['unit_reference'] != null) {\n            queryParameters['unit_reference'] = requestParameters['unit_reference'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/groups/{group_guid}/devices`;\n        urlPath = urlPath.replace('{group_guid}', encodeURIComponent(String(requestParameters['group_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns the device types generating click traffic to the specified group\\'s links.\n     * Get Click Metrics for a Group by Device Type\n     */\n    async getGroupMetricsByDevicesRaw(requestParameters: GetGroupMetricsByDevicesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DeviceMetrics>> {\n        const requestOptions = await this.getGroupMetricsByDevicesRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => DeviceMetricsFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns the device types generating click traffic to the specified group\\'s links.\n     * Get Click Metrics for a Group by Device Type\n     */\n    async getGroupMetricsByDevices(requestParameters: GetGroupMetricsByDevicesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DeviceMetrics> {\n        const response = await this.getGroupMetricsByDevicesRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getGroupMetricsByReferrer without sending the request\n     */\n    async getGroupMetricsByReferrerRequestOpts(requestParameters: GetGroupMetricsByReferrerRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['group_guid'] == null) {\n            throw new runtime.RequiredError(\n                'group_guid',\n                'Required parameter \"group_guid\" was null or undefined when calling getGroupMetricsByReferrer().'\n            );\n        }\n\n        if (requestParameters['unit'] == null) {\n            throw new runtime.RequiredError(\n                'unit',\n                'Required parameter \"unit\" was null or undefined when calling getGroupMetricsByReferrer().'\n            );\n        }\n\n        if (requestParameters['units'] == null) {\n            throw new runtime.RequiredError(\n                'units',\n                'Required parameter \"units\" was null or undefined when calling getGroupMetricsByReferrer().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['unit'] != null) {\n            queryParameters['unit'] = requestParameters['unit'];\n        }\n\n        if (requestParameters['units'] != null) {\n            queryParameters['units'] = requestParameters['units'];\n        }\n\n        if (requestParameters['size'] != null) {\n            queryParameters['size'] = requestParameters['size'];\n        }\n\n        if (requestParameters['unit_reference'] != null) {\n            queryParameters['unit_reference'] = requestParameters['unit_reference'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/groups/{group_guid}/referrers`;\n        urlPath = urlPath.replace('{group_guid}', encodeURIComponent(String(requestParameters['group_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns metrics by referrer for the specified group\\'s links.\n     * Get Click Metrics for a Group by Referrer\n     */\n    async getGroupMetricsByReferrerRaw(requestParameters: GetGroupMetricsByReferrerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ClickMetrics>> {\n        const requestOptions = await this.getGroupMetricsByReferrerRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => ClickMetricsFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns metrics by referrer for the specified group\\'s links.\n     * Get Click Metrics for a Group by Referrer\n     */\n    async getGroupMetricsByReferrer(requestParameters: GetGroupMetricsByReferrerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ClickMetrics> {\n        const response = await this.getGroupMetricsByReferrerRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getGroupMetricsByReferringNetworks without sending the request\n     */\n    async getGroupMetricsByReferringNetworksRequestOpts(requestParameters: GetGroupMetricsByReferringNetworksRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['group_guid'] == null) {\n            throw new runtime.RequiredError(\n                'group_guid',\n                'Required parameter \"group_guid\" was null or undefined when calling getGroupMetricsByReferringNetworks().'\n            );\n        }\n\n        if (requestParameters['unit'] == null) {\n            throw new runtime.RequiredError(\n                'unit',\n                'Required parameter \"unit\" was null or undefined when calling getGroupMetricsByReferringNetworks().'\n            );\n        }\n\n        if (requestParameters['units'] == null) {\n            throw new runtime.RequiredError(\n                'units',\n                'Required parameter \"units\" was null or undefined when calling getGroupMetricsByReferringNetworks().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['unit'] != null) {\n            queryParameters['unit'] = requestParameters['unit'];\n        }\n\n        if (requestParameters['units'] != null) {\n            queryParameters['units'] = requestParameters['units'];\n        }\n\n        if (requestParameters['size'] != null) {\n            queryParameters['size'] = requestParameters['size'];\n        }\n\n        if (requestParameters['unit_reference'] != null) {\n            queryParameters['unit_reference'] = requestParameters['unit_reference'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/groups/{group_guid}/referring_networks`;\n        urlPath = urlPath.replace('{group_guid}', encodeURIComponent(String(requestParameters['group_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns metrics by referring networks for the specified group\\'s links.\n     * Get Click Metrics for a Group by Referring Networks\n     */\n    async getGroupMetricsByReferringNetworksRaw(requestParameters: GetGroupMetricsByReferringNetworksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ClickMetrics>> {\n        const requestOptions = await this.getGroupMetricsByReferringNetworksRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => ClickMetricsFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns metrics by referring networks for the specified group\\'s links.\n     * Get Click Metrics for a Group by Referring Networks\n     */\n    async getGroupMetricsByReferringNetworks(requestParameters: GetGroupMetricsByReferringNetworksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ClickMetrics> {\n        const response = await this.getGroupMetricsByReferringNetworksRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getGroupMetricsOverTime without sending the request\n     */\n    async getGroupMetricsOverTimeRequestOpts(requestParameters: GetGroupMetricsOverTimeRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['group_guid'] == null) {\n            throw new runtime.RequiredError(\n                'group_guid',\n                'Required parameter \"group_guid\" was null or undefined when calling getGroupMetricsOverTime().'\n            );\n        }\n\n        if (requestParameters['unit'] == null) {\n            throw new runtime.RequiredError(\n                'unit',\n                'Required parameter \"unit\" was null or undefined when calling getGroupMetricsOverTime().'\n            );\n        }\n\n        if (requestParameters['units'] == null) {\n            throw new runtime.RequiredError(\n                'units',\n                'Required parameter \"units\" was null or undefined when calling getGroupMetricsOverTime().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['unit'] != null) {\n            queryParameters['unit'] = requestParameters['unit'];\n        }\n\n        if (requestParameters['units'] != null) {\n            queryParameters['units'] = requestParameters['units'];\n        }\n\n        if (requestParameters['unit_reference'] != null) {\n            queryParameters['unit_reference'] = requestParameters['unit_reference'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/groups/{group_guid}/engagements/over_time`;\n        urlPath = urlPath.replace('{group_guid}', encodeURIComponent(String(requestParameters['group_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Get group engagement metrics over time for all links in a group.\n     * Get Group Metrics Over Time\n     */\n    async getGroupMetricsOverTimeRaw(requestParameters: GetGroupMetricsOverTimeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GroupClicks>> {\n        const requestOptions = await this.getGroupMetricsOverTimeRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => GroupClicksFromJSON(jsonValue));\n    }\n\n    /**\n     * Get group engagement metrics over time for all links in a group.\n     * Get Group Metrics Over Time\n     */\n    async getGroupMetricsOverTime(requestParameters: GetGroupMetricsOverTimeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GroupClicks> {\n        const response = await this.getGroupMetricsOverTimeRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getGroupPreferences without sending the request\n     */\n    async getGroupPreferencesRequestOpts(requestParameters: GetGroupPreferencesRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['group_guid'] == null) {\n            throw new runtime.RequiredError(\n                'group_guid',\n                'Required parameter \"group_guid\" was null or undefined when calling getGroupPreferences().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/groups/{group_guid}/preferences`;\n        urlPath = urlPath.replace('{group_guid}', encodeURIComponent(String(requestParameters['group_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns preferences for the specified group.\n     * Retrieve Group Preferences\n     */\n    async getGroupPreferencesRaw(requestParameters: GetGroupPreferencesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GroupPreferences>> {\n        const requestOptions = await this.getGroupPreferencesRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => GroupPreferencesFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns preferences for the specified group.\n     * Retrieve Group Preferences\n     */\n    async getGroupPreferences(requestParameters: GetGroupPreferencesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GroupPreferences> {\n        const response = await this.getGroupPreferencesRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getGroupShortenCounts without sending the request\n     */\n    async getGroupShortenCountsRequestOpts(requestParameters: GetGroupShortenCountsRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['group_guid'] == null) {\n            throw new runtime.RequiredError(\n                'group_guid',\n                'Required parameter \"group_guid\" was null or undefined when calling getGroupShortenCounts().'\n            );\n        }\n\n        if (requestParameters['unit'] == null) {\n            throw new runtime.RequiredError(\n                'unit',\n                'Required parameter \"unit\" was null or undefined when calling getGroupShortenCounts().'\n            );\n        }\n\n        if (requestParameters['units'] == null) {\n            throw new runtime.RequiredError(\n                'units',\n                'Required parameter \"units\" was null or undefined when calling getGroupShortenCounts().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['unit'] != null) {\n            queryParameters['unit'] = requestParameters['unit'];\n        }\n\n        if (requestParameters['units'] != null) {\n            queryParameters['units'] = requestParameters['units'];\n        }\n\n        if (requestParameters['unit_reference'] != null) {\n            queryParameters['unit_reference'] = requestParameters['unit_reference'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/groups/{group_guid}/shorten_counts`;\n        urlPath = urlPath.replace('{group_guid}', encodeURIComponent(String(requestParameters['group_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns all the shorten counts for a group.\n     * Retrieve Group Shorten Counts\n     */\n    async getGroupShortenCountsRaw(requestParameters: GetGroupShortenCountsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Metrics>> {\n        const requestOptions = await this.getGroupShortenCountsRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => MetricsFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns all the shorten counts for a group.\n     * Retrieve Group Shorten Counts\n     */\n    async getGroupShortenCounts(requestParameters: GetGroupShortenCountsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Metrics> {\n        const response = await this.getGroupShortenCountsRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getGroupTags without sending the request\n     */\n    async getGroupTagsRequestOpts(requestParameters: GetGroupTagsRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['group_guid'] == null) {\n            throw new runtime.RequiredError(\n                'group_guid',\n                'Required parameter \"group_guid\" was null or undefined when calling getGroupTags().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['type'] != null) {\n            queryParameters['type'] = requestParameters['type'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/groups/{group_guid}/tags`;\n        urlPath = urlPath.replace('{group_guid}', encodeURIComponent(String(requestParameters['group_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns the tags currently used in the specified group. Maximum 1000.\n     * Retrieve Tags by Group\n     */\n    async getGroupTagsRaw(requestParameters: GetGroupTagsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Tags>> {\n        const requestOptions = await this.getGroupTagsRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => TagsFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns the tags currently used in the specified group. Maximum 1000.\n     * Retrieve Tags by Group\n     */\n    async getGroupTags(requestParameters: GetGroupTagsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Tags> {\n        const response = await this.getGroupTagsRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getGroupTopCodeScans without sending the request\n     */\n    async getGroupTopCodeScansRequestOpts(requestParameters: GetGroupTopCodeScansRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['group_guid'] == null) {\n            throw new runtime.RequiredError(\n                'group_guid',\n                'Required parameter \"group_guid\" was null or undefined when calling getGroupTopCodeScans().'\n            );\n        }\n\n        if (requestParameters['unit'] == null) {\n            throw new runtime.RequiredError(\n                'unit',\n                'Required parameter \"unit\" was null or undefined when calling getGroupTopCodeScans().'\n            );\n        }\n\n        if (requestParameters['units'] == null) {\n            throw new runtime.RequiredError(\n                'units',\n                'Required parameter \"units\" was null or undefined when calling getGroupTopCodeScans().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['unit'] != null) {\n            queryParameters['unit'] = requestParameters['unit'];\n        }\n\n        if (requestParameters['units'] != null) {\n            queryParameters['units'] = requestParameters['units'];\n        }\n\n        if (requestParameters['unit_reference'] != null) {\n            queryParameters['unit_reference'] = requestParameters['unit_reference'];\n        }\n\n        if (requestParameters['decoupled'] != null) {\n            queryParameters['decoupled'] = requestParameters['decoupled'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/groups/{group_guid}/codes/scans/top`;\n        urlPath = urlPath.replace('{group_guid}', encodeURIComponent(String(requestParameters['group_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Get top performing QR codes by scan count for all codes in a group.\n     * Get Top Performing QR Codes for a Group\n     */\n    async getGroupTopCodeScansRaw(requestParameters: GetGroupTopCodeScansRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetGroupTopCodeScans200Response>> {\n        const requestOptions = await this.getGroupTopCodeScansRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => GetGroupTopCodeScans200ResponseFromJSON(jsonValue));\n    }\n\n    /**\n     * Get top performing QR codes by scan count for all codes in a group.\n     * Get Top Performing QR Codes for a Group\n     */\n    async getGroupTopCodeScans(requestParameters: GetGroupTopCodeScansRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetGroupTopCodeScans200Response> {\n        const response = await this.getGroupTopCodeScansRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getGroupTopLinkClicks without sending the request\n     */\n    async getGroupTopLinkClicksRequestOpts(requestParameters: GetGroupTopLinkClicksRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['group_guid'] == null) {\n            throw new runtime.RequiredError(\n                'group_guid',\n                'Required parameter \"group_guid\" was null or undefined when calling getGroupTopLinkClicks().'\n            );\n        }\n\n        if (requestParameters['unit'] == null) {\n            throw new runtime.RequiredError(\n                'unit',\n                'Required parameter \"unit\" was null or undefined when calling getGroupTopLinkClicks().'\n            );\n        }\n\n        if (requestParameters['units'] == null) {\n            throw new runtime.RequiredError(\n                'units',\n                'Required parameter \"units\" was null or undefined when calling getGroupTopLinkClicks().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['unit'] != null) {\n            queryParameters['unit'] = requestParameters['unit'];\n        }\n\n        if (requestParameters['units'] != null) {\n            queryParameters['units'] = requestParameters['units'];\n        }\n\n        if (requestParameters['size'] != null) {\n            queryParameters['size'] = requestParameters['size'];\n        }\n\n        if (requestParameters['unit_reference'] != null) {\n            queryParameters['unit_reference'] = requestParameters['unit_reference'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/groups/{group_guid}/links/clicks/top`;\n        urlPath = urlPath.replace('{group_guid}', encodeURIComponent(String(requestParameters['group_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Get top performing links by click for all links in a group.\n     * Get Group Top Performing Links by Click\n     */\n    async getGroupTopLinkClicksRaw(requestParameters: GetGroupTopLinkClicksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SortedLinks>> {\n        const requestOptions = await this.getGroupTopLinkClicksRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => SortedLinksFromJSON(jsonValue));\n    }\n\n    /**\n     * Get top performing links by click for all links in a group.\n     * Get Group Top Performing Links by Click\n     */\n    async getGroupTopLinkClicks(requestParameters: GetGroupTopLinkClicksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SortedLinks> {\n        const response = await this.getGroupTopLinkClicksRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getGroupTopMetrics without sending the request\n     */\n    async getGroupTopMetricsRequestOpts(requestParameters: GetGroupTopMetricsRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['group_guid'] == null) {\n            throw new runtime.RequiredError(\n                'group_guid',\n                'Required parameter \"group_guid\" was null or undefined when calling getGroupTopMetrics().'\n            );\n        }\n\n        if (requestParameters['unit'] == null) {\n            throw new runtime.RequiredError(\n                'unit',\n                'Required parameter \"unit\" was null or undefined when calling getGroupTopMetrics().'\n            );\n        }\n\n        if (requestParameters['units'] == null) {\n            throw new runtime.RequiredError(\n                'units',\n                'Required parameter \"units\" was null or undefined when calling getGroupTopMetrics().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['unit'] != null) {\n            queryParameters['unit'] = requestParameters['unit'];\n        }\n\n        if (requestParameters['units'] != null) {\n            queryParameters['units'] = requestParameters['units'];\n        }\n\n        if (requestParameters['size'] != null) {\n            queryParameters['size'] = requestParameters['size'];\n        }\n\n        if (requestParameters['unit_reference'] != null) {\n            queryParameters['unit_reference'] = requestParameters['unit_reference'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/groups/{group_guid}/engagements/top`;\n        urlPath = urlPath.replace('{group_guid}', encodeURIComponent(String(requestParameters['group_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Get top performing links by engagement for all links in a group.\n     * Get Group Top Performing Links by Engagement\n     */\n    async getGroupTopMetricsRaw(requestParameters: GetGroupTopMetricsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SortedLinks>> {\n        const requestOptions = await this.getGroupTopMetricsRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => SortedLinksFromJSON(jsonValue));\n    }\n\n    /**\n     * Get top performing links by engagement for all links in a group.\n     * Get Group Top Performing Links by Engagement\n     */\n    async getGroupTopMetrics(requestParameters: GetGroupTopMetricsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SortedLinks> {\n        const response = await this.getGroupTopMetricsRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getGroups without sending the request\n     */\n    async getGroupsRequestOpts(requestParameters: GetGroupsRequest): Promise<runtime.RequestOpts> {\n        const queryParameters: any = {};\n\n        if (requestParameters['organization_guid'] != null) {\n            queryParameters['organization_guid'] = requestParameters['organization_guid'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/groups`;\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns a list of groups in the organization.\n     * Retrieve Groups\n     */\n    async getGroupsRaw(requestParameters: GetGroupsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Groups>> {\n        const requestOptions = await this.getGroupsRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => GroupsFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns a list of groups in the organization.\n     * Retrieve Groups\n     */\n    async getGroups(requestParameters: GetGroupsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Groups> {\n        const response = await this.getGroupsRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for postCreateGroupExport without sending the request\n     */\n    async postCreateGroupExportRequestOpts(requestParameters: PostCreateGroupExportRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['group_guid'] == null) {\n            throw new runtime.RequiredError(\n                'group_guid',\n                'Required parameter \"group_guid\" was null or undefined when calling postCreateGroupExport().'\n            );\n        }\n\n        if (requestParameters['group_export_request_body'] == null) {\n            throw new runtime.RequiredError(\n                'group_export_request_body',\n                'Required parameter \"group_export_request_body\" was null or undefined when calling postCreateGroupExport().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        headerParameters['Content-Type'] = 'application/json';\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/groups/{group_guid}/exports`;\n        urlPath = urlPath.replace('{group_guid}', encodeURIComponent(String(requestParameters['group_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'POST',\n            headers: headerParameters,\n            query: queryParameters,\n            body: GroupExportRequestBodyToJSON(requestParameters['group_export_request_body']),\n        };\n    }\n\n    /**\n     * Build a CSV export synchronously and return it inline as a base64 data URI plus metadata. The export_type field selects the CSV shape: link_engagements_batch (engagement metrics for explicit bitlinks or a filter), links_list (link metadata roster), or qr_codes_list (QR code metadata roster). Row caps apply per request: 200 rows when metrics are included (link_engagements_batch, or include_metrics on a list export); 1000 rows for metadata-only list exports. When the match set exceeds the cap, truncated is true and only the first cap rows are returned; row_count reports how many data rows are in the CSV. \n     * Create an inline CSV export for a group\n     */\n    async postCreateGroupExportRaw(requestParameters: PostCreateGroupExportRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GroupExportResponse>> {\n        const requestOptions = await this.postCreateGroupExportRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => GroupExportResponseFromJSON(jsonValue));\n    }\n\n    /**\n     * Build a CSV export synchronously and return it inline as a base64 data URI plus metadata. The export_type field selects the CSV shape: link_engagements_batch (engagement metrics for explicit bitlinks or a filter), links_list (link metadata roster), or qr_codes_list (QR code metadata roster). Row caps apply per request: 200 rows when metrics are included (link_engagements_batch, or include_metrics on a list export); 1000 rows for metadata-only list exports. When the match set exceeds the cap, truncated is true and only the first cap rows are returned; row_count reports how many data rows are in the CSV. \n     * Create an inline CSV export for a group\n     */\n    async postCreateGroupExport(requestParameters: PostCreateGroupExportRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GroupExportResponse> {\n        const response = await this.postCreateGroupExportRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for updateGroup without sending the request\n     */\n    async updateGroupRequestOpts(requestParameters: UpdateGroupRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['group_guid'] == null) {\n            throw new runtime.RequiredError(\n                'group_guid',\n                'Required parameter \"group_guid\" was null or undefined when calling updateGroup().'\n            );\n        }\n\n        if (requestParameters['group_update'] == null) {\n            throw new runtime.RequiredError(\n                'group_update',\n                'Required parameter \"group_update\" was null or undefined when calling updateGroup().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        headerParameters['Content-Type'] = 'application/json';\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/groups/{group_guid}`;\n        urlPath = urlPath.replace('{group_guid}', encodeURIComponent(String(requestParameters['group_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'PATCH',\n            headers: headerParameters,\n            query: queryParameters,\n            body: GroupUpdateToJSON(requestParameters['group_update']),\n        };\n    }\n\n    /**\n     * Updates the details of a group.\n     * Update a Group\n     */\n    async updateGroupRaw(requestParameters: UpdateGroupRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Group>> {\n        const requestOptions = await this.updateGroupRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => GroupFromJSON(jsonValue));\n    }\n\n    /**\n     * Updates the details of a group.\n     * Update a Group\n     */\n    async updateGroup(requestParameters: UpdateGroupRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Group> {\n        const response = await this.updateGroupRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for updateGroupPreferences without sending the request\n     */\n    async updateGroupPreferencesRequestOpts(requestParameters: UpdateGroupPreferencesRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['group_guid'] == null) {\n            throw new runtime.RequiredError(\n                'group_guid',\n                'Required parameter \"group_guid\" was null or undefined when calling updateGroupPreferences().'\n            );\n        }\n\n        if (requestParameters['group_preferences'] == null) {\n            throw new runtime.RequiredError(\n                'group_preferences',\n                'Required parameter \"group_preferences\" was null or undefined when calling updateGroupPreferences().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        headerParameters['Content-Type'] = 'application/json';\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/groups/{group_guid}/preferences`;\n        urlPath = urlPath.replace('{group_guid}', encodeURIComponent(String(requestParameters['group_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'PATCH',\n            headers: headerParameters,\n            query: queryParameters,\n            body: GroupPreferencesToJSON(requestParameters['group_preferences']),\n        };\n    }\n\n    /**\n     * Updates preferences for a group.\n     * Update Group Preferences\n     */\n    async updateGroupPreferencesRaw(requestParameters: UpdateGroupPreferencesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GroupPreferences>> {\n        const requestOptions = await this.updateGroupPreferencesRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => GroupPreferencesFromJSON(jsonValue));\n    }\n\n    /**\n     * Updates preferences for a group.\n     * Update Group Preferences\n     */\n    async updateGroupPreferences(requestParameters: UpdateGroupPreferencesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GroupPreferences> {\n        const response = await this.updateGroupPreferencesRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n}\n\n/**\n  * @export\n  * @enum {string}\n  */\nexport enum GetGroupTagsTypeEnum {\n    bitlink = 'bitlink',\n    qr_code = 'qr_code'\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 Organization\n */\nexport interface Organization {\n    /**\n     * \n     * @type {{ [key: string]: string; }}\n     * @memberof Organization\n     */\n    references?: { [key: string]: string; };\n    /**\n     * \n     * @type {string}\n     * @memberof Organization\n     */\n    name: string;\n    /**\n     * \n     * @type {boolean}\n     * @memberof Organization\n     */\n    is_active: boolean;\n    /**\n     * \n     * @type {string}\n     * @memberof Organization\n     */\n    guid: string;\n    /**\n     * \n     * @type {string}\n     * @memberof Organization\n     */\n    tier: string;\n    /**\n     * \n     * @type {string}\n     * @memberof Organization\n     */\n    tier_family: string;\n    /**\n     * \n     * @type {string}\n     * @memberof Organization\n     */\n    tier_display_name: string;\n    /**\n     * \n     * @type {string}\n     * @memberof Organization\n     */\n    role: string;\n    /**\n     * \n     * @type {string}\n     * @memberof Organization\n     */\n    created: string;\n    /**\n     * \n     * @type {string}\n     * @memberof Organization\n     */\n    modified: string;\n    /**\n     * \n     * @type {Array<string>}\n     * @memberof Organization\n     */\n    bsds: Array<string>;\n    /**\n     * SSO authentication requirement for this organization. Possible values: \"none\", \"any\". Omitted when no auth requirements are configured.\n     * \n     * @type {OrganizationRequireSsoEnum}\n     * @memberof Organization\n     */\n    require_sso?: OrganizationRequireSsoEnum;\n    /**\n     * Two-factor authentication requirement for this organization. Possible values: \"none\", \"sms\". Omitted when no auth requirements are configured.\n     * \n     * @type {OrganizationRequire2faEnum}\n     * @memberof Organization\n     */\n    require_2fa?: OrganizationRequire2faEnum;\n}\n\n/**\n* @export\n* @enum {string}\n*/\nexport enum OrganizationRequireSsoEnum {\n    none = 'none',\n    any = 'any'\n}\n/**\n* @export\n* @enum {string}\n*/\nexport enum OrganizationRequire2faEnum {\n    none = 'none',\n    sms = 'sms'\n}\n\n\n/**\n * Check if a given object implements the Organization interface.\n */\nexport function instanceOfOrganization(value: object): value is Organization {\n    if (!('name' in value) || value['name'] === undefined) return false;\n    if (!('is_active' in value) || value['is_active'] === undefined) return false;\n    if (!('guid' in value) || value['guid'] === undefined) return false;\n    if (!('tier' in value) || value['tier'] === undefined) return false;\n    if (!('tier_family' in value) || value['tier_family'] === undefined) return false;\n    if (!('tier_display_name' in value) || value['tier_display_name'] === undefined) return false;\n    if (!('role' in value) || value['role'] === undefined) return false;\n    if (!('created' in value) || value['created'] === undefined) return false;\n    if (!('modified' in value) || value['modified'] === undefined) return false;\n    if (!('bsds' in value) || value['bsds'] === undefined) return false;\n    return true;\n}\n\nexport function OrganizationFromJSON(json: any): Organization {\n    return OrganizationFromJSONTyped(json, false);\n}\n\nexport function OrganizationFromJSONTyped(json: any, ignoreDiscriminator: boolean): Organization {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'references': json['references'] == null ? undefined : json['references'],\n        'name': json['name'],\n        'is_active': json['is_active'],\n        'guid': json['guid'],\n        'tier': json['tier'],\n        'tier_family': json['tier_family'],\n        'tier_display_name': json['tier_display_name'],\n        'role': json['role'],\n        'created': json['created'],\n        'modified': json['modified'],\n        'bsds': json['bsds'],\n        'require_sso': json['require_sso'] == null ? undefined : json['require_sso'],\n        'require_2fa': json['require_2fa'] == null ? undefined : json['require_2fa'],\n    };\n}\n\nexport function OrganizationToJSON(json: any): Organization {\n    return OrganizationToJSONTyped(json, false);\n}\n\nexport function OrganizationToJSONTyped(value?: Organization | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'references': value['references'],\n        'name': value['name'],\n        'is_active': value['is_active'],\n        'guid': value['guid'],\n        'tier': value['tier'],\n        'tier_family': value['tier_family'],\n        'tier_display_name': value['tier_display_name'],\n        'role': value['role'],\n        'created': value['created'],\n        'modified': value['modified'],\n        'bsds': value['bsds'],\n        'require_sso': value['require_sso'],\n        'require_2fa': value['require_2fa'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { Organization } from './Organization';\nimport {\n    OrganizationFromJSON,\n    OrganizationFromJSONTyped,\n    OrganizationToJSON,\n    OrganizationToJSONTyped,\n} from './Organization';\n\n/**\n * \n * @export\n * @interface Organizations\n */\nexport interface Organizations {\n    /**\n     * \n     * @type {Array<Organization>}\n     * @memberof Organizations\n     */\n    organizations: Array<Organization>;\n}\n\n/**\n * Check if a given object implements the Organizations interface.\n */\nexport function instanceOfOrganizations(value: object): value is Organizations {\n    if (!('organizations' in value) || value['organizations'] === undefined) return false;\n    return true;\n}\n\nexport function OrganizationsFromJSON(json: any): Organizations {\n    return OrganizationsFromJSONTyped(json, false);\n}\n\nexport function OrganizationsFromJSONTyped(json: any, ignoreDiscriminator: boolean): Organizations {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'organizations': ((json['organizations'] as Array<any>).map(OrganizationFromJSON)),\n    };\n}\n\nexport function OrganizationsToJSON(json: any): Organizations {\n    return OrganizationsToJSONTyped(json, false);\n}\n\nexport function OrganizationsToJSONTyped(value?: Organizations | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'organizations': ((value['organizations'] as Array<any>).map(OrganizationToJSON)),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 PlanLimit\n */\nexport interface PlanLimit {\n    /**\n     * \n     * @type {string}\n     * @memberof PlanLimit\n     */\n    name?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof PlanLimit\n     */\n    description?: string;\n    /**\n     * \n     * @type {number}\n     * @memberof PlanLimit\n     */\n    limit?: number;\n    /**\n     * \n     * @type {number}\n     * @memberof PlanLimit\n     */\n    count?: number;\n}\n\n/**\n * Check if a given object implements the PlanLimit interface.\n */\nexport function instanceOfPlanLimit(value: object): value is PlanLimit {\n    return true;\n}\n\nexport function PlanLimitFromJSON(json: any): PlanLimit {\n    return PlanLimitFromJSONTyped(json, false);\n}\n\nexport function PlanLimitFromJSONTyped(json: any, ignoreDiscriminator: boolean): PlanLimit {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'name': json['name'] == null ? undefined : json['name'],\n        'description': json['description'] == null ? undefined : json['description'],\n        'limit': json['limit'] == null ? undefined : json['limit'],\n        'count': json['count'] == null ? undefined : json['count'],\n    };\n}\n\nexport function PlanLimitToJSON(json: any): PlanLimit {\n    return PlanLimitToJSONTyped(json, false);\n}\n\nexport function PlanLimitToJSONTyped(value?: PlanLimit | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'name': value['name'],\n        'description': value['description'],\n        'limit': value['limit'],\n        'count': value['count'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { PlanLimit } from './PlanLimit';\nimport {\n    PlanLimitFromJSON,\n    PlanLimitFromJSONTyped,\n    PlanLimitToJSON,\n    PlanLimitToJSONTyped,\n} from './PlanLimit';\n\n/**\n * \n * @export\n * @interface PlanLimits\n */\nexport interface PlanLimits {\n    /**\n     * \n     * @type {{ [key: string]: string; }}\n     * @memberof PlanLimits\n     */\n    references?: { [key: string]: string; };\n    /**\n     * \n     * @type {string}\n     * @memberof PlanLimits\n     */\n    organization_guid?: string;\n    /**\n     * \n     * @type {Array<PlanLimit>}\n     * @memberof PlanLimits\n     */\n    plan_limits?: Array<PlanLimit>;\n}\n\n/**\n * Check if a given object implements the PlanLimits interface.\n */\nexport function instanceOfPlanLimits(value: object): value is PlanLimits {\n    return true;\n}\n\nexport function PlanLimitsFromJSON(json: any): PlanLimits {\n    return PlanLimitsFromJSONTyped(json, false);\n}\n\nexport function PlanLimitsFromJSONTyped(json: any, ignoreDiscriminator: boolean): PlanLimits {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'references': json['references'] == null ? undefined : json['references'],\n        'organization_guid': json['organization_guid'] == null ? undefined : json['organization_guid'],\n        'plan_limits': json['plan_limits'] == null ? undefined : ((json['plan_limits'] as Array<any>).map(PlanLimitFromJSON)),\n    };\n}\n\nexport function PlanLimitsToJSON(json: any): PlanLimits {\n    return PlanLimitsToJSONTyped(json, false);\n}\n\nexport function PlanLimitsToJSONTyped(value?: PlanLimits | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'references': value['references'],\n        'organization_guid': value['organization_guid'],\n        'plan_limits': value['plan_limits'] == null ? undefined : ((value['plan_limits'] as Array<any>).map(PlanLimitToJSON)),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 Forbidden,\n    ForbiddenFromJSON,\n    ForbiddenToJSON,\n} from '../models/Forbidden';\nimport {\n    type InternalError,\n    InternalErrorFromJSON,\n    InternalErrorToJSON,\n} from '../models/InternalError';\nimport {\n    type Metrics,\n    MetricsFromJSON,\n    MetricsToJSON,\n} from '../models/Metrics';\nimport {\n    type NotFound,\n    NotFoundFromJSON,\n    NotFoundToJSON,\n} from '../models/NotFound';\nimport {\n    type Organization,\n    OrganizationFromJSON,\n    OrganizationToJSON,\n} from '../models/Organization';\nimport {\n    type Organizations,\n    OrganizationsFromJSON,\n    OrganizationsToJSON,\n} from '../models/Organizations';\nimport {\n    type PlanLimits,\n    PlanLimitsFromJSON,\n    PlanLimitsToJSON,\n} from '../models/PlanLimits';\nimport {\n    type TemporarilyUnavailable,\n    TemporarilyUnavailableFromJSON,\n    TemporarilyUnavailableToJSON,\n} from '../models/TemporarilyUnavailable';\nimport {\n    type TimeUnit,\n    TimeUnitFromJSON,\n    TimeUnitToJSON,\n} from '../models/TimeUnit';\n\nexport interface GetOrganizationRequest {\n    organization_guid: string;\n}\n\nexport interface GetOrganizationShortenCountsRequest {\n    organization_guid: string;\n    unit: TimeUnit;\n    units: number;\n    unit_reference?: string;\n}\n\nexport interface GetOrganizationShortenCountsByGroupRequest {\n    organization_guid: string;\n}\n\nexport interface GetOrganizationsRequest {\n    include_all?: boolean;\n}\n\nexport interface GetPlanLimitsRequest {\n    organization_guid: string;\n}\n\n/**\n * \n */\nexport class OrganizationsApi extends runtime.BaseAPI {\n\n    /**\n     * Creates request options for getOrganization without sending the request\n     */\n    async getOrganizationRequestOpts(requestParameters: GetOrganizationRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['organization_guid'] == null) {\n            throw new runtime.RequiredError(\n                'organization_guid',\n                'Required parameter \"organization_guid\" was null or undefined when calling getOrganization().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/organizations/{organization_guid}`;\n        urlPath = urlPath.replace('{organization_guid}', encodeURIComponent(String(requestParameters['organization_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Retrive details for the specified organization.\n     * Retrieve an Organization\n     */\n    async getOrganizationRaw(requestParameters: GetOrganizationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Organization>> {\n        const requestOptions = await this.getOrganizationRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => OrganizationFromJSON(jsonValue));\n    }\n\n    /**\n     * Retrive details for the specified organization.\n     * Retrieve an Organization\n     */\n    async getOrganization(requestParameters: GetOrganizationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Organization> {\n        const response = await this.getOrganizationRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getOrganizationShortenCounts without sending the request\n     */\n    async getOrganizationShortenCountsRequestOpts(requestParameters: GetOrganizationShortenCountsRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['organization_guid'] == null) {\n            throw new runtime.RequiredError(\n                'organization_guid',\n                'Required parameter \"organization_guid\" was null or undefined when calling getOrganizationShortenCounts().'\n            );\n        }\n\n        if (requestParameters['unit'] == null) {\n            throw new runtime.RequiredError(\n                'unit',\n                'Required parameter \"unit\" was null or undefined when calling getOrganizationShortenCounts().'\n            );\n        }\n\n        if (requestParameters['units'] == null) {\n            throw new runtime.RequiredError(\n                'units',\n                'Required parameter \"units\" was null or undefined when calling getOrganizationShortenCounts().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['unit'] != null) {\n            queryParameters['unit'] = requestParameters['unit'];\n        }\n\n        if (requestParameters['units'] != null) {\n            queryParameters['units'] = requestParameters['units'];\n        }\n\n        if (requestParameters['unit_reference'] != null) {\n            queryParameters['unit_reference'] = requestParameters['unit_reference'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/organizations/{organization_guid}/shorten_counts`;\n        urlPath = urlPath.replace('{organization_guid}', encodeURIComponent(String(requestParameters['organization_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns the shorten counts for a specific organization over a specified time period.\n     * Get Shorten Counts for an Organization\n     */\n    async getOrganizationShortenCountsRaw(requestParameters: GetOrganizationShortenCountsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Metrics>> {\n        const requestOptions = await this.getOrganizationShortenCountsRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => MetricsFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns the shorten counts for a specific organization over a specified time period.\n     * Get Shorten Counts for an Organization\n     */\n    async getOrganizationShortenCounts(requestParameters: GetOrganizationShortenCountsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Metrics> {\n        const response = await this.getOrganizationShortenCountsRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getOrganizationShortenCountsByGroup without sending the request\n     */\n    async getOrganizationShortenCountsByGroupRequestOpts(requestParameters: GetOrganizationShortenCountsByGroupRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['organization_guid'] == null) {\n            throw new runtime.RequiredError(\n                'organization_guid',\n                'Required parameter \"organization_guid\" was null or undefined when calling getOrganizationShortenCountsByGroup().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/organizations/{organization_guid}/shorten_counts_by_group`;\n        urlPath = urlPath.replace('{organization_guid}', encodeURIComponent(String(requestParameters['organization_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns the shorten counts for a specific organization by group for the current month.\n     * Get Shorten Counts for an Organization by Group\n     */\n    async getOrganizationShortenCountsByGroupRaw(requestParameters: GetOrganizationShortenCountsByGroupRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Metrics>> {\n        const requestOptions = await this.getOrganizationShortenCountsByGroupRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => MetricsFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns the shorten counts for a specific organization by group for the current month.\n     * Get Shorten Counts for an Organization by Group\n     */\n    async getOrganizationShortenCountsByGroup(requestParameters: GetOrganizationShortenCountsByGroupRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Metrics> {\n        const response = await this.getOrganizationShortenCountsByGroupRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getOrganizations without sending the request\n     */\n    async getOrganizationsRequestOpts(requestParameters: GetOrganizationsRequest): Promise<runtime.RequestOpts> {\n        const queryParameters: any = {};\n\n        if (requestParameters['include_all'] != null) {\n            queryParameters['include_all'] = requestParameters['include_all'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/organizations`;\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Retrieve a list of organizations for the authenticated user. By default, only organizations permitted by the token\\'s allowed_orgs are returned. Use include_all=true to return all organizations regardless of token restrictions. Each organization is annotated with its authentication requirements (require_sso, require_2fa) when configured. \n     * Retrieve Organizations\n     */\n    async getOrganizationsRaw(requestParameters: GetOrganizationsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Organizations>> {\n        const requestOptions = await this.getOrganizationsRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => OrganizationsFromJSON(jsonValue));\n    }\n\n    /**\n     * Retrieve a list of organizations for the authenticated user. By default, only organizations permitted by the token\\'s allowed_orgs are returned. Use include_all=true to return all organizations regardless of token restrictions. Each organization is annotated with its authentication requirements (require_sso, require_2fa) when configured. \n     * Retrieve Organizations\n     */\n    async getOrganizations(requestParameters: GetOrganizationsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Organizations> {\n        const response = await this.getOrganizationsRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getPlanLimits without sending the request\n     */\n    async getPlanLimitsRequestOpts(requestParameters: GetPlanLimitsRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['organization_guid'] == null) {\n            throw new runtime.RequiredError(\n                'organization_guid',\n                'Required parameter \"organization_guid\" was null or undefined when calling getPlanLimits().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/organizations/{organization_guid}/plan_limits`;\n        urlPath = urlPath.replace('{organization_guid}', encodeURIComponent(String(requestParameters['organization_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns all plan limits and counts available for an organization.\n     * Get Plan Limits\n     */\n    async getPlanLimitsRaw(requestParameters: GetPlanLimitsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PlanLimits>> {\n        const requestOptions = await this.getPlanLimitsRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => PlanLimitsFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns all plan limits and counts available for an organization.\n     * Get Plan Limits\n     */\n    async getPlanLimits(requestParameters: GetPlanLimitsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PlanLimits> {\n        const response = await this.getPlanLimitsRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 QRScans\n */\nexport interface QRScans {\n    /**\n     * \n     * @type {number}\n     * @memberof QRScans\n     */\n    scans?: number;\n    /**\n     * \n     * @type {string}\n     * @memberof QRScans\n     */\n    date?: string;\n}\n\n/**\n * Check if a given object implements the QRScans interface.\n */\nexport function instanceOfQRScans(value: object): value is QRScans {\n    return true;\n}\n\nexport function QRScansFromJSON(json: any): QRScans {\n    return QRScansFromJSONTyped(json, false);\n}\n\nexport function QRScansFromJSONTyped(json: any, ignoreDiscriminator: boolean): QRScans {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'scans': json['scans'] == null ? undefined : json['scans'],\n        'date': json['date'] == null ? undefined : json['date'],\n    };\n}\n\nexport function QRScansToJSON(json: any): QRScans {\n    return QRScansToJSONTyped(json, false);\n}\n\nexport function QRScansToJSONTyped(value?: QRScans | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'scans': value['scans'],\n        'date': value['date'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { QRScans } from './QRScans';\nimport {\n    QRScansFromJSON,\n    QRScansFromJSONTyped,\n    QRScansToJSON,\n    QRScansToJSONTyped,\n} from './QRScans';\n\n/**\n * \n * @export\n * @interface BitlinkScans\n */\nexport interface BitlinkScans {\n    /**\n     * \n     * @type {Array<QRScans>}\n     * @memberof BitlinkScans\n     */\n    scans?: Array<QRScans>;\n    /**\n     * \n     * @type {number}\n     * @memberof BitlinkScans\n     */\n    units?: number;\n    /**\n     * \n     * @type {BitlinkScansUnitEnum}\n     * @memberof BitlinkScans\n     */\n    unit?: BitlinkScansUnitEnum;\n    /**\n     * \n     * @type {string}\n     * @memberof BitlinkScans\n     */\n    unit_reference?: string;\n}\n\n/**\n* @export\n* @enum {string}\n*/\nexport enum BitlinkScansUnitEnum {\n    minute = 'minute',\n    hour = 'hour',\n    day = 'day',\n    week = 'week',\n    month = 'month'\n}\n\n\n/**\n * Check if a given object implements the BitlinkScans interface.\n */\nexport function instanceOfBitlinkScans(value: object): value is BitlinkScans {\n    return true;\n}\n\nexport function BitlinkScansFromJSON(json: any): BitlinkScans {\n    return BitlinkScansFromJSONTyped(json, false);\n}\n\nexport function BitlinkScansFromJSONTyped(json: any, ignoreDiscriminator: boolean): BitlinkScans {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'scans': json['scans'] == null ? undefined : ((json['scans'] as Array<any>).map(QRScansFromJSON)),\n        'units': json['units'] == null ? undefined : json['units'],\n        'unit': json['unit'] == null ? undefined : json['unit'],\n        'unit_reference': json['unit_reference'] == null ? undefined : json['unit_reference'],\n    };\n}\n\nexport function BitlinkScansToJSON(json: any): BitlinkScans {\n    return BitlinkScansToJSONTyped(json, false);\n}\n\nexport function BitlinkScansToJSONTyped(value?: BitlinkScans | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'scans': value['scans'] == null ? undefined : ((value['scans'] as Array<any>).map(QRScansToJSON)),\n        'units': value['units'],\n        'unit': value['unit'],\n        'unit_reference': value['unit_reference'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 BitlinkScansSummary\n */\nexport interface BitlinkScansSummary {\n    /**\n     * \n     * @type {number}\n     * @memberof BitlinkScansSummary\n     */\n    total_scans?: number;\n    /**\n     * \n     * @type {number}\n     * @memberof BitlinkScansSummary\n     */\n    units?: number;\n    /**\n     * \n     * @type {BitlinkScansSummaryUnitEnum}\n     * @memberof BitlinkScansSummary\n     */\n    unit?: BitlinkScansSummaryUnitEnum;\n    /**\n     * \n     * @type {string}\n     * @memberof BitlinkScansSummary\n     */\n    unit_reference?: string;\n}\n\n/**\n* @export\n* @enum {string}\n*/\nexport enum BitlinkScansSummaryUnitEnum {\n    minute = 'minute',\n    hour = 'hour',\n    day = 'day',\n    week = 'week',\n    month = 'month'\n}\n\n\n/**\n * Check if a given object implements the BitlinkScansSummary interface.\n */\nexport function instanceOfBitlinkScansSummary(value: object): value is BitlinkScansSummary {\n    return true;\n}\n\nexport function BitlinkScansSummaryFromJSON(json: any): BitlinkScansSummary {\n    return BitlinkScansSummaryFromJSONTyped(json, false);\n}\n\nexport function BitlinkScansSummaryFromJSONTyped(json: any, ignoreDiscriminator: boolean): BitlinkScansSummary {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'total_scans': json['total_scans'] == null ? undefined : json['total_scans'],\n        'units': json['units'] == null ? undefined : json['units'],\n        'unit': json['unit'] == null ? undefined : json['unit'],\n        'unit_reference': json['unit_reference'] == null ? undefined : json['unit_reference'],\n    };\n}\n\nexport function BitlinkScansSummaryToJSON(json: any): BitlinkScansSummary {\n    return BitlinkScansSummaryToJSONTyped(json, false);\n}\n\nexport function BitlinkScansSummaryToJSONTyped(value?: BitlinkScansSummary | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'total_scans': value['total_scans'],\n        'units': value['units'],\n        'unit': value['unit'],\n        'unit_reference': value['unit_reference'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 OtherScanMetrics\n */\nexport interface OtherScanMetrics {\n    /**\n     * \n     * @type {number}\n     * @memberof OtherScanMetrics\n     */\n    other_city_scans?: number;\n    /**\n     * \n     * @type {number}\n     * @memberof OtherScanMetrics\n     */\n    no_city_scans?: number;\n}\n\n/**\n * Check if a given object implements the OtherScanMetrics interface.\n */\nexport function instanceOfOtherScanMetrics(value: object): value is OtherScanMetrics {\n    return true;\n}\n\nexport function OtherScanMetricsFromJSON(json: any): OtherScanMetrics {\n    return OtherScanMetricsFromJSONTyped(json, false);\n}\n\nexport function OtherScanMetricsFromJSONTyped(json: any, ignoreDiscriminator: boolean): OtherScanMetrics {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'other_city_scans': json['other_city_scans'] == null ? undefined : json['other_city_scans'],\n        'no_city_scans': json['no_city_scans'] == null ? undefined : json['no_city_scans'],\n    };\n}\n\nexport function OtherScanMetricsToJSON(json: any): OtherScanMetrics {\n    return OtherScanMetricsToJSONTyped(json, false);\n}\n\nexport function OtherScanMetricsToJSONTyped(value?: OtherScanMetrics | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'other_city_scans': value['other_city_scans'],\n        'no_city_scans': value['no_city_scans'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 CityScanMetric\n */\nexport interface CityScanMetric {\n    /**\n     * \n     * @type {number}\n     * @memberof CityScanMetric\n     */\n    scans?: number;\n    /**\n     * \n     * @type {string}\n     * @memberof CityScanMetric\n     */\n    city?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof CityScanMetric\n     */\n    subregion?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof CityScanMetric\n     */\n    region?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof CityScanMetric\n     */\n    country?: string;\n}\n\n/**\n * Check if a given object implements the CityScanMetric interface.\n */\nexport function instanceOfCityScanMetric(value: object): value is CityScanMetric {\n    return true;\n}\n\nexport function CityScanMetricFromJSON(json: any): CityScanMetric {\n    return CityScanMetricFromJSONTyped(json, false);\n}\n\nexport function CityScanMetricFromJSONTyped(json: any, ignoreDiscriminator: boolean): CityScanMetric {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'scans': json['scans'] == null ? undefined : json['scans'],\n        'city': json['city'] == null ? undefined : json['city'],\n        'subregion': json['subregion'] == null ? undefined : json['subregion'],\n        'region': json['region'] == null ? undefined : json['region'],\n        'country': json['country'] == null ? undefined : json['country'],\n    };\n}\n\nexport function CityScanMetricToJSON(json: any): CityScanMetric {\n    return CityScanMetricToJSONTyped(json, false);\n}\n\nexport function CityScanMetricToJSONTyped(value?: CityScanMetric | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'scans': value['scans'],\n        'city': value['city'],\n        'subregion': value['subregion'],\n        'region': value['region'],\n        'country': value['country'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { OtherScanMetrics } from './OtherScanMetrics';\nimport {\n    OtherScanMetricsFromJSON,\n    OtherScanMetricsFromJSONTyped,\n    OtherScanMetricsToJSON,\n    OtherScanMetricsToJSONTyped,\n} from './OtherScanMetrics';\nimport type { CityScanMetric } from './CityScanMetric';\nimport {\n    CityScanMetricFromJSON,\n    CityScanMetricFromJSONTyped,\n    CityScanMetricToJSON,\n    CityScanMetricToJSONTyped,\n} from './CityScanMetric';\n\n/**\n * \n * @export\n * @interface CityScanMetrics\n */\nexport interface CityScanMetrics {\n    /**\n     * \n     * @type {string}\n     * @memberof CityScanMetrics\n     */\n    unit?: string;\n    /**\n     * \n     * @type {number}\n     * @memberof CityScanMetrics\n     */\n    units?: number;\n    /**\n     * \n     * @type {CityScanMetricsFacetEnum}\n     * @memberof CityScanMetrics\n     */\n    facet?: CityScanMetricsFacetEnum;\n    /**\n     * \n     * @type {string}\n     * @memberof CityScanMetrics\n     */\n    unit_reference?: string;\n    /**\n     * \n     * @type {Array<CityScanMetric>}\n     * @memberof CityScanMetrics\n     */\n    metrics?: Array<CityScanMetric>;\n    /**\n     * \n     * @type {OtherScanMetrics}\n     * @memberof CityScanMetrics\n     */\n    other_metrics?: OtherScanMetrics;\n}\n\n/**\n* @export\n* @enum {string}\n*/\nexport enum CityScanMetricsFacetEnum {\n    countries = 'countries',\n    cities = 'cities',\n    device_os = 'device_os',\n    browsers = 'browsers',\n    destinations = 'destinations'\n}\n\n\n/**\n * Check if a given object implements the CityScanMetrics interface.\n */\nexport function instanceOfCityScanMetrics(value: object): value is CityScanMetrics {\n    return true;\n}\n\nexport function CityScanMetricsFromJSON(json: any): CityScanMetrics {\n    return CityScanMetricsFromJSONTyped(json, false);\n}\n\nexport function CityScanMetricsFromJSONTyped(json: any, ignoreDiscriminator: boolean): CityScanMetrics {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'unit': json['unit'] == null ? undefined : json['unit'],\n        'units': json['units'] == null ? undefined : json['units'],\n        'facet': json['facet'] == null ? undefined : json['facet'],\n        'unit_reference': json['unit_reference'] == null ? undefined : json['unit_reference'],\n        'metrics': json['metrics'] == null ? undefined : ((json['metrics'] as Array<any>).map(CityScanMetricFromJSON)),\n        'other_metrics': json['other_metrics'] == null ? undefined : OtherScanMetricsFromJSON(json['other_metrics']),\n    };\n}\n\nexport function CityScanMetricsToJSON(json: any): CityScanMetrics {\n    return CityScanMetricsToJSONTyped(json, false);\n}\n\nexport function CityScanMetricsToJSONTyped(value?: CityScanMetrics | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'unit': value['unit'],\n        'units': value['units'],\n        'facet': value['facet'],\n        'unit_reference': value['unit_reference'],\n        'metrics': value['metrics'] == null ? undefined : ((value['metrics'] as Array<any>).map(CityScanMetricToJSON)),\n        'other_metrics': OtherScanMetricsToJSON(value['other_metrics']),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 GradientColor\n */\nexport interface GradientColor {\n    /**\n     * A color in hexadecimal format to be used in one of the gradient's <stop> elements\n     * @type {string}\n     * @memberof GradientColor\n     */\n    color?: string;\n    /**\n     * A number between 0-100 denoting the offset of the gradient color, interpreted as a percentage\n     * @type {number}\n     * @memberof GradientColor\n     */\n    offset?: number;\n}\n\n/**\n * Check if a given object implements the GradientColor interface.\n */\nexport function instanceOfGradientColor(value: object): value is GradientColor {\n    return true;\n}\n\nexport function GradientColorFromJSON(json: any): GradientColor {\n    return GradientColorFromJSONTyped(json, false);\n}\n\nexport function GradientColorFromJSONTyped(json: any, ignoreDiscriminator: boolean): GradientColor {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'color': json['color'] == null ? undefined : json['color'],\n        'offset': json['offset'] == null ? undefined : json['offset'],\n    };\n}\n\nexport function GradientColorToJSON(json: any): GradientColor {\n    return GradientColorToJSONTyped(json, false);\n}\n\nexport function GradientColorToJSONTyped(value?: GradientColor | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'color': value['color'],\n        'offset': value['offset'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { GradientColor } from './GradientColor';\nimport {\n    GradientColorFromJSON,\n    GradientColorFromJSONTyped,\n    GradientColorToJSON,\n    GradientColorToJSONTyped,\n} from './GradientColor';\n\n/**\n * \n * @export\n * @interface QRCodeGradient\n */\nexport interface QRCodeGradient {\n    /**\n     * The style of the gradient. Can be either linear or radial.\n     * @type {QRCodeGradientStyleEnum}\n     * @memberof QRCodeGradient\n     */\n    style?: QRCodeGradientStyleEnum;\n    /**\n     * The angle by which the gradient will be rotated. Only applies to linear gradients.\n     * @type {number}\n     * @memberof QRCodeGradient\n     */\n    angle?: number;\n    /**\n     * The list of hex colors and their offsets to be used in the gradient.\n     * @type {Array<GradientColor>}\n     * @memberof QRCodeGradient\n     */\n    colors?: Array<GradientColor>;\n    /**\n     * Ignore gradient mask on corners\n     * @type {boolean}\n     * @memberof QRCodeGradient\n     */\n    exclude_corners?: boolean;\n}\n\n/**\n* @export\n* @enum {string}\n*/\nexport enum QRCodeGradientStyleEnum {\n    no_gradient = 'no_gradient',\n    linear = 'linear',\n    radial = 'radial'\n}\n\n\n/**\n * Check if a given object implements the QRCodeGradient interface.\n */\nexport function instanceOfQRCodeGradient(value: object): value is QRCodeGradient {\n    return true;\n}\n\nexport function QRCodeGradientFromJSON(json: any): QRCodeGradient {\n    return QRCodeGradientFromJSONTyped(json, false);\n}\n\nexport function QRCodeGradientFromJSONTyped(json: any, ignoreDiscriminator: boolean): QRCodeGradient {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'style': json['style'] == null ? undefined : json['style'],\n        'angle': json['angle'] == null ? undefined : json['angle'],\n        'colors': json['colors'] == null ? undefined : ((json['colors'] as Array<any>).map(GradientColorFromJSON)),\n        'exclude_corners': json['exclude_corners'] == null ? undefined : json['exclude_corners'],\n    };\n}\n\nexport function QRCodeGradientToJSON(json: any): QRCodeGradient {\n    return QRCodeGradientToJSONTyped(json, false);\n}\n\nexport function QRCodeGradientToJSONTyped(value?: QRCodeGradient | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'style': value['style'],\n        'angle': value['angle'],\n        'colors': value['colors'] == null ? undefined : ((value['colors'] as Array<any>).map(GradientColorToJSON)),\n        'exclude_corners': value['exclude_corners'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 QRCodeLogoPublic\n */\nexport interface QRCodeLogoPublic {\n    /**\n     * A GUID for an image uploaded to Bitly\n     * @type {string}\n     * @memberof QRCodeLogoPublic\n     */\n    image_guid?: string;\n}\n\n/**\n * Check if a given object implements the QRCodeLogoPublic interface.\n */\nexport function instanceOfQRCodeLogoPublic(value: object): value is QRCodeLogoPublic {\n    return true;\n}\n\nexport function QRCodeLogoPublicFromJSON(json: any): QRCodeLogoPublic {\n    return QRCodeLogoPublicFromJSONTyped(json, false);\n}\n\nexport function QRCodeLogoPublicFromJSONTyped(json: any, ignoreDiscriminator: boolean): QRCodeLogoPublic {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'image_guid': json['image_guid'] == null ? undefined : json['image_guid'],\n    };\n}\n\nexport function QRCodeLogoPublicToJSON(json: any): QRCodeLogoPublic {\n    return QRCodeLogoPublicToJSONTyped(json, false);\n}\n\nexport function QRCodeLogoPublicToJSONTyped(value?: QRCodeLogoPublic | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'image_guid': value['image_guid'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 * @export\n * @enum {string}\n */\nexport enum QRCodeDotPatternType {\n    standard = 'standard',\n    circle = 'circle',\n    block = 'block',\n    blob = 'blob',\n    rounded = 'rounded',\n    vertical = 'vertical',\n    horizontal = 'horizontal',\n    triangle = 'triangle',\n    heart = 'heart',\n    star = 'star',\n    diamond = 'diamond'\n}\n\n\nexport function instanceOfQRCodeDotPatternType(value: any): boolean {\n    for (const key in QRCodeDotPatternType) {\n        if (Object.prototype.hasOwnProperty.call(QRCodeDotPatternType, key)) {\n            if (QRCodeDotPatternType[key as keyof typeof QRCodeDotPatternType] === value) {\n                return true;\n            }\n        }\n    }\n    return false;\n}\n\nexport function QRCodeDotPatternTypeFromJSON(json: any): QRCodeDotPatternType {\n    return QRCodeDotPatternTypeFromJSONTyped(json, false);\n}\n\nexport function QRCodeDotPatternTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): QRCodeDotPatternType {\n    return json as QRCodeDotPatternType;\n}\n\nexport function QRCodeDotPatternTypeToJSON(value?: QRCodeDotPatternType | null): any {\n    return value as any;\n}\n\nexport function QRCodeDotPatternTypeToJSONTyped(value: any, ignoreDiscriminator: boolean): QRCodeDotPatternType {\n    return value as QRCodeDotPatternType;\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 * The QR code's editable spec settings, which for now is just the error correction\n * @export\n * @interface QRCodeSpecSettingsPublic\n */\nexport interface QRCodeSpecSettingsPublic {\n    /**\n     * The amount of error correction that the QR code was generated with\n     * @type {number}\n     * @memberof QRCodeSpecSettingsPublic\n     */\n    error_correction?: number;\n}\n\n/**\n * Check if a given object implements the QRCodeSpecSettingsPublic interface.\n */\nexport function instanceOfQRCodeSpecSettingsPublic(value: object): value is QRCodeSpecSettingsPublic {\n    return true;\n}\n\nexport function QRCodeSpecSettingsPublicFromJSON(json: any): QRCodeSpecSettingsPublic {\n    return QRCodeSpecSettingsPublicFromJSONTyped(json, false);\n}\n\nexport function QRCodeSpecSettingsPublicFromJSONTyped(json: any, ignoreDiscriminator: boolean): QRCodeSpecSettingsPublic {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'error_correction': json['error_correction'] == null ? undefined : json['error_correction'],\n    };\n}\n\nexport function QRCodeSpecSettingsPublicToJSON(json: any): QRCodeSpecSettingsPublic {\n    return QRCodeSpecSettingsPublicToJSONTyped(json, false);\n}\n\nexport function QRCodeSpecSettingsPublicToJSONTyped(value?: QRCodeSpecSettingsPublic | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'error_correction': value['error_correction'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 * Represents one corner, both inner and outer, of a QR code, with color and shape values\n * @export\n * @interface QRCodeCorner\n */\nexport interface QRCodeCorner {\n    /**\n     * The inner color of a corner of the QR code in hex code format\n     * @type {string}\n     * @memberof QRCodeCorner\n     */\n    inner_color?: string;\n    /**\n     * The outer color of a corner of the QR code in hex code format\n     * @type {string}\n     * @memberof QRCodeCorner\n     */\n    outer_color?: string;\n    /**\n     * The shape one of the QR code's corners should take\n     * @type {QRCodeCornerShapeEnum}\n     * @memberof QRCodeCorner\n     */\n    shape?: QRCodeCornerShapeEnum;\n}\n\n/**\n* @export\n* @enum {string}\n*/\nexport enum QRCodeCornerShapeEnum {\n    standard = 'standard',\n    slightly_round = 'slightly_round',\n    rounded = 'rounded',\n    extra_round = 'extra_round',\n    leaf = 'leaf',\n    leaf_inner = 'leaf_inner',\n    leaf_outer = 'leaf_outer',\n    target = 'target',\n    concave = 'concave'\n}\n\n\n/**\n * Check if a given object implements the QRCodeCorner interface.\n */\nexport function instanceOfQRCodeCorner(value: object): value is QRCodeCorner {\n    return true;\n}\n\nexport function QRCodeCornerFromJSON(json: any): QRCodeCorner {\n    return QRCodeCornerFromJSONTyped(json, false);\n}\n\nexport function QRCodeCornerFromJSONTyped(json: any, ignoreDiscriminator: boolean): QRCodeCorner {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'inner_color': json['inner_color'] == null ? undefined : json['inner_color'],\n        'outer_color': json['outer_color'] == null ? undefined : json['outer_color'],\n        'shape': json['shape'] == null ? undefined : json['shape'],\n    };\n}\n\nexport function QRCodeCornerToJSON(json: any): QRCodeCorner {\n    return QRCodeCornerToJSONTyped(json, false);\n}\n\nexport function QRCodeCornerToJSONTyped(value?: QRCodeCorner | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'inner_color': value['inner_color'],\n        'outer_color': value['outer_color'],\n        'shape': value['shape'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { QRCodeCorner } from './QRCodeCorner';\nimport {\n    QRCodeCornerFromJSON,\n    QRCodeCornerFromJSONTyped,\n    QRCodeCornerToJSON,\n    QRCodeCornerToJSONTyped,\n} from './QRCodeCorner';\n\n/**\n * An object representing all three corners of the QR code. The corners corresponding to each property are: corner_1 = top left, corner_2 = top right, and corner_3 = bottom right\n * @export\n * @interface QRCodeCorners\n */\nexport interface QRCodeCorners {\n    /**\n     * \n     * @type {QRCodeCorner}\n     * @memberof QRCodeCorners\n     */\n    corner_1?: QRCodeCorner;\n    /**\n     * \n     * @type {QRCodeCorner}\n     * @memberof QRCodeCorners\n     */\n    corner_2?: QRCodeCorner;\n    /**\n     * \n     * @type {QRCodeCorner}\n     * @memberof QRCodeCorners\n     */\n    corner_3?: QRCodeCorner;\n}\n\n/**\n * Check if a given object implements the QRCodeCorners interface.\n */\nexport function instanceOfQRCodeCorners(value: object): value is QRCodeCorners {\n    return true;\n}\n\nexport function QRCodeCornersFromJSON(json: any): QRCodeCorners {\n    return QRCodeCornersFromJSONTyped(json, false);\n}\n\nexport function QRCodeCornersFromJSONTyped(json: any, ignoreDiscriminator: boolean): QRCodeCorners {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'corner_1': json['corner_1'] == null ? undefined : QRCodeCornerFromJSON(json['corner_1']),\n        'corner_2': json['corner_2'] == null ? undefined : QRCodeCornerFromJSON(json['corner_2']),\n        'corner_3': json['corner_3'] == null ? undefined : QRCodeCornerFromJSON(json['corner_3']),\n    };\n}\n\nexport function QRCodeCornersToJSON(json: any): QRCodeCorners {\n    return QRCodeCornersToJSONTyped(json, false);\n}\n\nexport function QRCodeCornersToJSONTyped(value?: QRCodeCorners | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'corner_1': QRCodeCornerToJSON(value['corner_1']),\n        'corner_2': QRCodeCornerToJSON(value['corner_2']),\n        'corner_3': QRCodeCornerToJSON(value['corner_3']),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 * @export\n * @enum {string}\n */\nexport enum QRCodeFrameType {\n    none = 'none',\n    border_only = 'border_only',\n    text_bottom = 'text_bottom',\n    tooltip_bottom = 'tooltip_bottom',\n    arrow = 'arrow',\n    text_top = 'text_top',\n    text_bottom_in_frame = 'text_bottom_in_frame',\n    script = 'script',\n    text_top_and_bottom = 'text_top_and_bottom',\n    url = 'url',\n    instagram = 'instagram'\n}\n\n\nexport function instanceOfQRCodeFrameType(value: any): boolean {\n    for (const key in QRCodeFrameType) {\n        if (Object.prototype.hasOwnProperty.call(QRCodeFrameType, key)) {\n            if (QRCodeFrameType[key as keyof typeof QRCodeFrameType] === value) {\n                return true;\n            }\n        }\n    }\n    return false;\n}\n\nexport function QRCodeFrameTypeFromJSON(json: any): QRCodeFrameType {\n    return QRCodeFrameTypeFromJSONTyped(json, false);\n}\n\nexport function QRCodeFrameTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): QRCodeFrameType {\n    return json as QRCodeFrameType;\n}\n\nexport function QRCodeFrameTypeToJSON(value?: QRCodeFrameType | null): any {\n    return value as any;\n}\n\nexport function QRCodeFrameTypeToJSONTyped(value: any, ignoreDiscriminator: boolean): QRCodeFrameType {\n    return value as QRCodeFrameType;\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 * An object of named colors denoting which color should go to which area of the frame\n * @export\n * @interface QRCodeFrameRequestColors\n */\nexport interface QRCodeFrameRequestColors {\n    /**\n     * The primary color of the frame in hex code format\n     * @type {string}\n     * @memberof QRCodeFrameRequestColors\n     */\n    primary?: string;\n    /**\n     * The secondary color of the frame in hex code format\n     * @type {string}\n     * @memberof QRCodeFrameRequestColors\n     */\n    secondary?: string;\n    /**\n     * The background color of the frame in hex code format\n     * @type {string}\n     * @memberof QRCodeFrameRequestColors\n     */\n    background?: string;\n}\n\n/**\n * Check if a given object implements the QRCodeFrameRequestColors interface.\n */\nexport function instanceOfQRCodeFrameRequestColors(value: object): value is QRCodeFrameRequestColors {\n    return true;\n}\n\nexport function QRCodeFrameRequestColorsFromJSON(json: any): QRCodeFrameRequestColors {\n    return QRCodeFrameRequestColorsFromJSONTyped(json, false);\n}\n\nexport function QRCodeFrameRequestColorsFromJSONTyped(json: any, ignoreDiscriminator: boolean): QRCodeFrameRequestColors {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'primary': json['primary'] == null ? undefined : json['primary'],\n        'secondary': json['secondary'] == null ? undefined : json['secondary'],\n        'background': json['background'] == null ? undefined : json['background'],\n    };\n}\n\nexport function QRCodeFrameRequestColorsToJSON(json: any): QRCodeFrameRequestColors {\n    return QRCodeFrameRequestColorsToJSONTyped(json, false);\n}\n\nexport function QRCodeFrameRequestColorsToJSONTyped(value?: QRCodeFrameRequestColors | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'primary': value['primary'],\n        'secondary': value['secondary'],\n        'background': value['background'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 * An object describing text with color\n * @export\n * @interface Text\n */\nexport interface Text {\n    /**\n     * The text to be used\n     * @type {string}\n     * @memberof Text\n     */\n    content: string;\n    /**\n     * The color of the text in hex code format\n     * @type {string}\n     * @memberof Text\n     */\n    color?: string;\n}\n\n/**\n * Check if a given object implements the Text interface.\n */\nexport function instanceOfText(value: object): value is Text {\n    if (!('content' in value) || value['content'] === undefined) return false;\n    return true;\n}\n\nexport function TextFromJSON(json: any): Text {\n    return TextFromJSONTyped(json, false);\n}\n\nexport function TextFromJSONTyped(json: any, ignoreDiscriminator: boolean): Text {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'content': json['content'],\n        'color': json['color'] == null ? undefined : json['color'],\n    };\n}\n\nexport function TextToJSON(json: any): Text {\n    return TextToJSONTyped(json, false);\n}\n\nexport function TextToJSONTyped(value?: Text | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'content': value['content'],\n        'color': value['color'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { Text } from './Text';\nimport {\n    TextFromJSON,\n    TextFromJSONTyped,\n    TextToJSON,\n    TextToJSONTyped,\n} from './Text';\n\n/**\n * The text to be inserted into the QR code's frame\n * @export\n * @interface QRCodeFrameRequestText\n */\nexport interface QRCodeFrameRequestText {\n    /**\n     * \n     * @type {Text}\n     * @memberof QRCodeFrameRequestText\n     */\n    primary?: Text;\n    /**\n     * \n     * @type {Text}\n     * @memberof QRCodeFrameRequestText\n     */\n    secondary?: Text;\n}\n\n/**\n * Check if a given object implements the QRCodeFrameRequestText interface.\n */\nexport function instanceOfQRCodeFrameRequestText(value: object): value is QRCodeFrameRequestText {\n    return true;\n}\n\nexport function QRCodeFrameRequestTextFromJSON(json: any): QRCodeFrameRequestText {\n    return QRCodeFrameRequestTextFromJSONTyped(json, false);\n}\n\nexport function QRCodeFrameRequestTextFromJSONTyped(json: any, ignoreDiscriminator: boolean): QRCodeFrameRequestText {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'primary': json['primary'] == null ? undefined : TextFromJSON(json['primary']),\n        'secondary': json['secondary'] == null ? undefined : TextFromJSON(json['secondary']),\n    };\n}\n\nexport function QRCodeFrameRequestTextToJSON(json: any): QRCodeFrameRequestText {\n    return QRCodeFrameRequestTextToJSONTyped(json, false);\n}\n\nexport function QRCodeFrameRequestTextToJSONTyped(value?: QRCodeFrameRequestText | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'primary': TextToJSON(value['primary']),\n        'secondary': TextToJSON(value['secondary']),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { QRCodeFrameType } from './QRCodeFrameType';\nimport {\n    QRCodeFrameTypeFromJSON,\n    QRCodeFrameTypeFromJSONTyped,\n    QRCodeFrameTypeToJSON,\n    QRCodeFrameTypeToJSONTyped,\n} from './QRCodeFrameType';\nimport type { QRCodeFrameRequestColors } from './QRCodeFrameRequestColors';\nimport {\n    QRCodeFrameRequestColorsFromJSON,\n    QRCodeFrameRequestColorsFromJSONTyped,\n    QRCodeFrameRequestColorsToJSON,\n    QRCodeFrameRequestColorsToJSONTyped,\n} from './QRCodeFrameRequestColors';\nimport type { QRCodeFrameRequestText } from './QRCodeFrameRequestText';\nimport {\n    QRCodeFrameRequestTextFromJSON,\n    QRCodeFrameRequestTextFromJSONTyped,\n    QRCodeFrameRequestTextToJSON,\n    QRCodeFrameRequestTextToJSONTyped,\n} from './QRCodeFrameRequestText';\n\n/**\n * \n * @export\n * @interface QRCodeFrameRequest\n */\nexport interface QRCodeFrameRequest {\n    /**\n     * \n     * @type {QRCodeFrameType}\n     * @memberof QRCodeFrameRequest\n     */\n    id: QRCodeFrameType;\n    /**\n     * \n     * @type {QRCodeFrameRequestColors}\n     * @memberof QRCodeFrameRequest\n     */\n    colors?: QRCodeFrameRequestColors;\n    /**\n     * \n     * @type {QRCodeFrameRequestText}\n     * @memberof QRCodeFrameRequest\n     */\n    text?: QRCodeFrameRequestText;\n}\n\n\n\n/**\n * Check if a given object implements the QRCodeFrameRequest interface.\n */\nexport function instanceOfQRCodeFrameRequest(value: object): value is QRCodeFrameRequest {\n    if (!('id' in value) || value['id'] === undefined) return false;\n    return true;\n}\n\nexport function QRCodeFrameRequestFromJSON(json: any): QRCodeFrameRequest {\n    return QRCodeFrameRequestFromJSONTyped(json, false);\n}\n\nexport function QRCodeFrameRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): QRCodeFrameRequest {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'id': QRCodeFrameTypeFromJSON(json['id']),\n        'colors': json['colors'] == null ? undefined : QRCodeFrameRequestColorsFromJSON(json['colors']),\n        'text': json['text'] == null ? undefined : QRCodeFrameRequestTextFromJSON(json['text']),\n    };\n}\n\nexport function QRCodeFrameRequestToJSON(json: any): QRCodeFrameRequest {\n    return QRCodeFrameRequestToJSONTyped(json, false);\n}\n\nexport function QRCodeFrameRequestToJSONTyped(value?: QRCodeFrameRequest | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'id': QRCodeFrameTypeToJSON(value['id']),\n        'colors': QRCodeFrameRequestColorsToJSON(value['colors']),\n        'text': QRCodeFrameRequestTextToJSON(value['text']),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 QRCodeBranding\n */\nexport interface QRCodeBranding {\n    /**\n     * A boolean that determines if the QR code should have the bitly brand in its bottom right corner\n     * @type {boolean}\n     * @memberof QRCodeBranding\n     */\n    bitly_brand?: boolean;\n}\n\n/**\n * Check if a given object implements the QRCodeBranding interface.\n */\nexport function instanceOfQRCodeBranding(value: object): value is QRCodeBranding {\n    return true;\n}\n\nexport function QRCodeBrandingFromJSON(json: any): QRCodeBranding {\n    return QRCodeBrandingFromJSONTyped(json, false);\n}\n\nexport function QRCodeBrandingFromJSONTyped(json: any, ignoreDiscriminator: boolean): QRCodeBranding {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'bitly_brand': json['bitly_brand'] == null ? undefined : json['bitly_brand'],\n    };\n}\n\nexport function QRCodeBrandingToJSON(json: any): QRCodeBranding {\n    return QRCodeBrandingToJSONTyped(json, false);\n}\n\nexport function QRCodeBrandingToJSONTyped(value?: QRCodeBranding | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'bitly_brand': value['bitly_brand'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { Text } from './Text';\nimport {\n    TextFromJSON,\n    TextFromJSONTyped,\n    TextToJSON,\n    TextToJSONTyped,\n} from './Text';\n\n/**\n * Contains the center, top, and bottom text to be used in the QR code\n * @export\n * @interface QRCodeText\n */\nexport interface QRCodeText {\n    /**\n     * \n     * @type {Text}\n     * @memberof QRCodeText\n     */\n    center?: Text;\n    /**\n     * \n     * @type {Text}\n     * @memberof QRCodeText\n     */\n    top?: Text;\n    /**\n     * \n     * @type {Text}\n     * @memberof QRCodeText\n     */\n    bottom?: Text;\n}\n\n/**\n * Check if a given object implements the QRCodeText interface.\n */\nexport function instanceOfQRCodeText(value: object): value is QRCodeText {\n    return true;\n}\n\nexport function QRCodeTextFromJSON(json: any): QRCodeText {\n    return QRCodeTextFromJSONTyped(json, false);\n}\n\nexport function QRCodeTextFromJSONTyped(json: any, ignoreDiscriminator: boolean): QRCodeText {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'center': json['center'] == null ? undefined : TextFromJSON(json['center']),\n        'top': json['top'] == null ? undefined : TextFromJSON(json['top']),\n        'bottom': json['bottom'] == null ? undefined : TextFromJSON(json['bottom']),\n    };\n}\n\nexport function QRCodeTextToJSON(json: any): QRCodeText {\n    return QRCodeTextToJSONTyped(json, false);\n}\n\nexport function QRCodeTextToJSONTyped(value?: QRCodeText | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'center': TextToJSON(value['center']),\n        'top': TextToJSON(value['top']),\n        'bottom': TextToJSON(value['bottom']),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { QRCodeGradient } from './QRCodeGradient';\nimport {\n    QRCodeGradientFromJSON,\n    QRCodeGradientFromJSONTyped,\n    QRCodeGradientToJSON,\n    QRCodeGradientToJSONTyped,\n} from './QRCodeGradient';\nimport type { QRCodeLogoPublic } from './QRCodeLogoPublic';\nimport {\n    QRCodeLogoPublicFromJSON,\n    QRCodeLogoPublicFromJSONTyped,\n    QRCodeLogoPublicToJSON,\n    QRCodeLogoPublicToJSONTyped,\n} from './QRCodeLogoPublic';\nimport type { QRCodeDotPatternType } from './QRCodeDotPatternType';\nimport {\n    QRCodeDotPatternTypeFromJSON,\n    QRCodeDotPatternTypeFromJSONTyped,\n    QRCodeDotPatternTypeToJSON,\n    QRCodeDotPatternTypeToJSONTyped,\n} from './QRCodeDotPatternType';\nimport type { QRCodeSpecSettingsPublic } from './QRCodeSpecSettingsPublic';\nimport {\n    QRCodeSpecSettingsPublicFromJSON,\n    QRCodeSpecSettingsPublicFromJSONTyped,\n    QRCodeSpecSettingsPublicToJSON,\n    QRCodeSpecSettingsPublicToJSONTyped,\n} from './QRCodeSpecSettingsPublic';\nimport type { QRCodeCorners } from './QRCodeCorners';\nimport {\n    QRCodeCornersFromJSON,\n    QRCodeCornersFromJSONTyped,\n    QRCodeCornersToJSON,\n    QRCodeCornersToJSONTyped,\n} from './QRCodeCorners';\nimport type { QRCodeFrameRequest } from './QRCodeFrameRequest';\nimport {\n    QRCodeFrameRequestFromJSON,\n    QRCodeFrameRequestFromJSONTyped,\n    QRCodeFrameRequestToJSON,\n    QRCodeFrameRequestToJSONTyped,\n} from './QRCodeFrameRequest';\nimport type { QRCodeBranding } from './QRCodeBranding';\nimport {\n    QRCodeBrandingFromJSON,\n    QRCodeBrandingFromJSONTyped,\n    QRCodeBrandingToJSON,\n    QRCodeBrandingToJSONTyped,\n} from './QRCodeBranding';\nimport type { QRCodeText } from './QRCodeText';\nimport {\n    QRCodeTextFromJSON,\n    QRCodeTextFromJSONTyped,\n    QRCodeTextToJSON,\n    QRCodeTextToJSONTyped,\n} from './QRCodeText';\n\n/**\n * Options for customizing a QR Code's appearance\n * @export\n * @interface QRCodeCustomizationsPublic\n */\nexport interface QRCodeCustomizationsPublic {\n    /**\n     * The QR code's background color in hex code format with values for alpha channel\n     * @type {string}\n     * @memberof QRCodeCustomizationsPublic\n     */\n    background_color?: string;\n    /**\n     * The QR code's dot pattern color in hex code format\n     * @type {string}\n     * @memberof QRCodeCustomizationsPublic\n     */\n    dot_pattern_color?: string;\n    /**\n     * \n     * @type {QRCodeDotPatternType}\n     * @memberof QRCodeCustomizationsPublic\n     */\n    dot_pattern_type?: QRCodeDotPatternType;\n    /**\n     * \n     * @type {QRCodeCorners}\n     * @memberof QRCodeCustomizationsPublic\n     */\n    corners?: QRCodeCorners;\n    /**\n     * \n     * @type {QRCodeGradient}\n     * @memberof QRCodeCustomizationsPublic\n     */\n    gradient?: QRCodeGradient;\n    /**\n     * \n     * @type {QRCodeGradient}\n     * @memberof QRCodeCustomizationsPublic\n     */\n    background_gradient?: QRCodeGradient;\n    /**\n     * \n     * @type {QRCodeLogoPublic}\n     * @memberof QRCodeCustomizationsPublic\n     */\n    logo?: QRCodeLogoPublic;\n    /**\n     * \n     * @type {QRCodeFrameRequest}\n     * @memberof QRCodeCustomizationsPublic\n     */\n    frame?: QRCodeFrameRequest;\n    /**\n     * \n     * @type {QRCodeText}\n     * @memberof QRCodeCustomizationsPublic\n     */\n    text?: QRCodeText;\n    /**\n     * \n     * @type {QRCodeBranding}\n     * @memberof QRCodeCustomizationsPublic\n     */\n    branding?: QRCodeBranding;\n    /**\n     * \n     * @type {QRCodeSpecSettingsPublic}\n     * @memberof QRCodeCustomizationsPublic\n     */\n    spec_settings?: QRCodeSpecSettingsPublic;\n}\n\n\n\n/**\n * Check if a given object implements the QRCodeCustomizationsPublic interface.\n */\nexport function instanceOfQRCodeCustomizationsPublic(value: object): value is QRCodeCustomizationsPublic {\n    return true;\n}\n\nexport function QRCodeCustomizationsPublicFromJSON(json: any): QRCodeCustomizationsPublic {\n    return QRCodeCustomizationsPublicFromJSONTyped(json, false);\n}\n\nexport function QRCodeCustomizationsPublicFromJSONTyped(json: any, ignoreDiscriminator: boolean): QRCodeCustomizationsPublic {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'background_color': json['background_color'] == null ? undefined : json['background_color'],\n        'dot_pattern_color': json['dot_pattern_color'] == null ? undefined : json['dot_pattern_color'],\n        'dot_pattern_type': json['dot_pattern_type'] == null ? undefined : QRCodeDotPatternTypeFromJSON(json['dot_pattern_type']),\n        'corners': json['corners'] == null ? undefined : QRCodeCornersFromJSON(json['corners']),\n        'gradient': json['gradient'] == null ? undefined : QRCodeGradientFromJSON(json['gradient']),\n        'background_gradient': json['background_gradient'] == null ? undefined : QRCodeGradientFromJSON(json['background_gradient']),\n        'logo': json['logo'] == null ? undefined : QRCodeLogoPublicFromJSON(json['logo']),\n        'frame': json['frame'] == null ? undefined : QRCodeFrameRequestFromJSON(json['frame']),\n        'text': json['text'] == null ? undefined : QRCodeTextFromJSON(json['text']),\n        'branding': json['branding'] == null ? undefined : QRCodeBrandingFromJSON(json['branding']),\n        'spec_settings': json['spec_settings'] == null ? undefined : QRCodeSpecSettingsPublicFromJSON(json['spec_settings']),\n    };\n}\n\nexport function QRCodeCustomizationsPublicToJSON(json: any): QRCodeCustomizationsPublic {\n    return QRCodeCustomizationsPublicToJSONTyped(json, false);\n}\n\nexport function QRCodeCustomizationsPublicToJSONTyped(value?: QRCodeCustomizationsPublic | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'background_color': value['background_color'],\n        'dot_pattern_color': value['dot_pattern_color'],\n        'dot_pattern_type': QRCodeDotPatternTypeToJSON(value['dot_pattern_type']),\n        'corners': QRCodeCornersToJSON(value['corners']),\n        'gradient': QRCodeGradientToJSON(value['gradient']),\n        'background_gradient': QRCodeGradientToJSON(value['background_gradient']),\n        'logo': QRCodeLogoPublicToJSON(value['logo']),\n        'frame': QRCodeFrameRequestToJSON(value['frame']),\n        'text': QRCodeTextToJSON(value['text']),\n        'branding': QRCodeBrandingToJSON(value['branding']),\n        'spec_settings': QRCodeSpecSettingsPublicToJSON(value['spec_settings']),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 QRCodeDestination\n */\nexport interface QRCodeDestination {\n    /**\n     * \n     * @type {string}\n     * @memberof QRCodeDestination\n     */\n    bitlink_id?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof QRCodeDestination\n     */\n    long_url?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof QRCodeDestination\n     */\n    site_id?: string;\n}\n\n/**\n * Check if a given object implements the QRCodeDestination interface.\n */\nexport function instanceOfQRCodeDestination(value: object): value is QRCodeDestination {\n    return true;\n}\n\nexport function QRCodeDestinationFromJSON(json: any): QRCodeDestination {\n    return QRCodeDestinationFromJSONTyped(json, false);\n}\n\nexport function QRCodeDestinationFromJSONTyped(json: any, ignoreDiscriminator: boolean): QRCodeDestination {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'bitlink_id': json['bitlink_id'] == null ? undefined : json['bitlink_id'],\n        'long_url': json['long_url'] == null ? undefined : json['long_url'],\n        'site_id': json['site_id'] == null ? undefined : json['site_id'],\n    };\n}\n\nexport function QRCodeDestinationToJSON(json: any): QRCodeDestination {\n    return QRCodeDestinationToJSONTyped(json, false);\n}\n\nexport function QRCodeDestinationToJSONTyped(value?: QRCodeDestination | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'bitlink_id': value['bitlink_id'],\n        'long_url': value['long_url'],\n        'site_id': value['site_id'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 GS1Value\n */\nexport interface GS1Value {\n    /**\n     * A valid GS1 application identifier, qualifier, attribute, etc.\n     * @type {string}\n     * @memberof GS1Value\n     */\n    key?: string;\n    /**\n     * A syntactically correct value associated with the application identifier in the key field.\n     * @type {string}\n     * @memberof GS1Value\n     */\n    value?: string;\n}\n\n/**\n * Check if a given object implements the GS1Value interface.\n */\nexport function instanceOfGS1Value(value: object): value is GS1Value {\n    return true;\n}\n\nexport function GS1ValueFromJSON(json: any): GS1Value {\n    return GS1ValueFromJSONTyped(json, false);\n}\n\nexport function GS1ValueFromJSONTyped(json: any, ignoreDiscriminator: boolean): GS1Value {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'key': json['key'] == null ? undefined : json['key'],\n        'value': json['value'] == null ? undefined : json['value'],\n    };\n}\n\nexport function GS1ValueToJSON(json: any): GS1Value {\n    return GS1ValueToJSONTyped(json, false);\n}\n\nexport function GS1ValueToJSONTyped(value?: GS1Value | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'key': value['key'],\n        'value': value['value'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { GS1Value } from './GS1Value';\nimport {\n    GS1ValueFromJSON,\n    GS1ValueFromJSONTyped,\n    GS1ValueToJSON,\n    GS1ValueToJSONTyped,\n} from './GS1Value';\n\n/**\n * Contains GS1 related metadata\n * @export\n * @interface GS1Metadata\n */\nexport interface GS1Metadata {\n    /**\n     * A list of GS1 application identifiers and their values\n     * @type {Array<GS1Value>}\n     * @memberof GS1Metadata\n     */\n    values?: Array<GS1Value>;\n}\n\n/**\n * Check if a given object implements the GS1Metadata interface.\n */\nexport function instanceOfGS1Metadata(value: object): value is GS1Metadata {\n    return true;\n}\n\nexport function GS1MetadataFromJSON(json: any): GS1Metadata {\n    return GS1MetadataFromJSONTyped(json, false);\n}\n\nexport function GS1MetadataFromJSONTyped(json: any, ignoreDiscriminator: boolean): GS1Metadata {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'values': json['values'] == null ? undefined : ((json['values'] as Array<any>).map(GS1ValueFromJSON)),\n    };\n}\n\nexport function GS1MetadataToJSON(json: any): GS1Metadata {\n    return GS1MetadataToJSONTyped(json, false);\n}\n\nexport function GS1MetadataToJSONTyped(value?: GS1Metadata | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'values': value['values'] == null ? undefined : ((value['values'] as Array<any>).map(GS1ValueToJSON)),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { QRCodeCustomizationsPublic } from './QRCodeCustomizationsPublic';\nimport {\n    QRCodeCustomizationsPublicFromJSON,\n    QRCodeCustomizationsPublicFromJSONTyped,\n    QRCodeCustomizationsPublicToJSON,\n    QRCodeCustomizationsPublicToJSONTyped,\n} from './QRCodeCustomizationsPublic';\nimport type { QRCodeDestination } from './QRCodeDestination';\nimport {\n    QRCodeDestinationFromJSON,\n    QRCodeDestinationFromJSONTyped,\n    QRCodeDestinationToJSON,\n    QRCodeDestinationToJSONTyped,\n} from './QRCodeDestination';\nimport type { GS1Metadata } from './GS1Metadata';\nimport {\n    GS1MetadataFromJSON,\n    GS1MetadataFromJSONTyped,\n    GS1MetadataToJSON,\n    GS1MetadataToJSONTyped,\n} from './GS1Metadata';\n\n/**\n * Customization and content values for a QR code created through the public API\n * @export\n * @interface PublicCreateQRCodeRequest\n */\nexport interface PublicCreateQRCodeRequest {\n    /**\n     * The title of the QR Code\n     * @type {string}\n     * @memberof PublicCreateQRCodeRequest\n     */\n    title?: string;\n    /**\n     * Identify which group to place the QR Code.\n     * @type {string}\n     * @memberof PublicCreateQRCodeRequest\n     */\n    group_guid: string;\n    /**\n     * \n     * @type {QRCodeCustomizationsPublic}\n     * @memberof PublicCreateQRCodeRequest\n     */\n    render_customizations?: QRCodeCustomizationsPublic;\n    /**\n     * A boolean representing if the QR code should be archived (hidden from the UI) upon creation\n     * @type {boolean}\n     * @memberof PublicCreateQRCodeRequest\n     */\n    archived?: boolean;\n    /**\n     * \n     * @type {QRCodeDestination}\n     * @memberof PublicCreateQRCodeRequest\n     */\n    destination: QRCodeDestination;\n    /**\n     * \n     * @type {GS1Metadata}\n     * @memberof PublicCreateQRCodeRequest\n     */\n    gs1?: GS1Metadata;\n    /**\n     * Optional expiration timestamp for the QR code's bitlink (e.g., 2025-01-28T14:30:00+0000). Minimum expiration time is 5 minutes from now and maximum is 1 year.\n     * @type {string}\n     * @memberof PublicCreateQRCodeRequest\n     */\n    expiration_at?: string;\n    /**\n     * A list of tags to add to the QR code\n     * @type {Array<string>}\n     * @memberof PublicCreateQRCodeRequest\n     */\n    tags?: Array<string>;\n}\n\n/**\n * Check if a given object implements the PublicCreateQRCodeRequest interface.\n */\nexport function instanceOfPublicCreateQRCodeRequest(value: object): value is PublicCreateQRCodeRequest {\n    if (!('group_guid' in value) || value['group_guid'] === undefined) return false;\n    if (!('destination' in value) || value['destination'] === undefined) return false;\n    return true;\n}\n\nexport function PublicCreateQRCodeRequestFromJSON(json: any): PublicCreateQRCodeRequest {\n    return PublicCreateQRCodeRequestFromJSONTyped(json, false);\n}\n\nexport function PublicCreateQRCodeRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): PublicCreateQRCodeRequest {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'title': json['title'] == null ? undefined : json['title'],\n        'group_guid': json['group_guid'],\n        'render_customizations': json['render_customizations'] == null ? undefined : QRCodeCustomizationsPublicFromJSON(json['render_customizations']),\n        'archived': json['archived'] == null ? undefined : json['archived'],\n        'destination': QRCodeDestinationFromJSON(json['destination']),\n        'gs1': json['gs1'] == null ? undefined : GS1MetadataFromJSON(json['gs1']),\n        'expiration_at': json['expiration_at'] == null ? undefined : json['expiration_at'],\n        'tags': json['tags'] == null ? undefined : json['tags'],\n    };\n}\n\nexport function PublicCreateQRCodeRequestToJSON(json: any): PublicCreateQRCodeRequest {\n    return PublicCreateQRCodeRequestToJSONTyped(json, false);\n}\n\nexport function PublicCreateQRCodeRequestToJSONTyped(value?: PublicCreateQRCodeRequest | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'title': value['title'],\n        'group_guid': value['group_guid'],\n        'render_customizations': QRCodeCustomizationsPublicToJSON(value['render_customizations']),\n        'archived': value['archived'],\n        'destination': QRCodeDestinationToJSON(value['destination']),\n        'gs1': GS1MetadataToJSON(value['gs1']),\n        'expiration_at': value['expiration_at'],\n        'tags': value['tags'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { QRCodeDotPatternType } from './QRCodeDotPatternType';\nimport {\n    QRCodeDotPatternTypeFromJSON,\n    QRCodeDotPatternTypeFromJSONTyped,\n    QRCodeDotPatternTypeToJSON,\n    QRCodeDotPatternTypeToJSONTyped,\n} from './QRCodeDotPatternType';\nimport type { QRCodeSpecSettingsPublic } from './QRCodeSpecSettingsPublic';\nimport {\n    QRCodeSpecSettingsPublicFromJSON,\n    QRCodeSpecSettingsPublicFromJSONTyped,\n    QRCodeSpecSettingsPublicToJSON,\n    QRCodeSpecSettingsPublicToJSONTyped,\n} from './QRCodeSpecSettingsPublic';\nimport type { QRCodeCorners } from './QRCodeCorners';\nimport {\n    QRCodeCornersFromJSON,\n    QRCodeCornersFromJSONTyped,\n    QRCodeCornersToJSON,\n    QRCodeCornersToJSONTyped,\n} from './QRCodeCorners';\nimport type { QRCodeBranding } from './QRCodeBranding';\nimport {\n    QRCodeBrandingFromJSON,\n    QRCodeBrandingFromJSONTyped,\n    QRCodeBrandingToJSON,\n    QRCodeBrandingToJSONTyped,\n} from './QRCodeBranding';\n\n/**\n * Appearance options for a static QR code. gradient, background_gradient, frame, text, and logo are not supported.\n * @export\n * @interface QRCodeCustomizationsStaticPublic\n */\nexport interface QRCodeCustomizationsStaticPublic {\n    /**\n     * The QR code's background color in hex code format with values for alpha channel\n     * @type {string}\n     * @memberof QRCodeCustomizationsStaticPublic\n     */\n    background_color?: string;\n    /**\n     * The QR code's dot pattern color in hex code format\n     * @type {string}\n     * @memberof QRCodeCustomizationsStaticPublic\n     */\n    dot_pattern_color?: string;\n    /**\n     * \n     * @type {QRCodeDotPatternType}\n     * @memberof QRCodeCustomizationsStaticPublic\n     */\n    dot_pattern_type?: QRCodeDotPatternType;\n    /**\n     * \n     * @type {QRCodeCorners}\n     * @memberof QRCodeCustomizationsStaticPublic\n     */\n    corners?: QRCodeCorners;\n    /**\n     * \n     * @type {QRCodeBranding}\n     * @memberof QRCodeCustomizationsStaticPublic\n     */\n    branding?: QRCodeBranding;\n    /**\n     * \n     * @type {QRCodeSpecSettingsPublic}\n     * @memberof QRCodeCustomizationsStaticPublic\n     */\n    spec_settings?: QRCodeSpecSettingsPublic;\n}\n\n\n\n/**\n * Check if a given object implements the QRCodeCustomizationsStaticPublic interface.\n */\nexport function instanceOfQRCodeCustomizationsStaticPublic(value: object): value is QRCodeCustomizationsStaticPublic {\n    return true;\n}\n\nexport function QRCodeCustomizationsStaticPublicFromJSON(json: any): QRCodeCustomizationsStaticPublic {\n    return QRCodeCustomizationsStaticPublicFromJSONTyped(json, false);\n}\n\nexport function QRCodeCustomizationsStaticPublicFromJSONTyped(json: any, ignoreDiscriminator: boolean): QRCodeCustomizationsStaticPublic {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'background_color': json['background_color'] == null ? undefined : json['background_color'],\n        'dot_pattern_color': json['dot_pattern_color'] == null ? undefined : json['dot_pattern_color'],\n        'dot_pattern_type': json['dot_pattern_type'] == null ? undefined : QRCodeDotPatternTypeFromJSON(json['dot_pattern_type']),\n        'corners': json['corners'] == null ? undefined : QRCodeCornersFromJSON(json['corners']),\n        'branding': json['branding'] == null ? undefined : QRCodeBrandingFromJSON(json['branding']),\n        'spec_settings': json['spec_settings'] == null ? undefined : QRCodeSpecSettingsPublicFromJSON(json['spec_settings']),\n    };\n}\n\nexport function QRCodeCustomizationsStaticPublicToJSON(json: any): QRCodeCustomizationsStaticPublic {\n    return QRCodeCustomizationsStaticPublicToJSONTyped(json, false);\n}\n\nexport function QRCodeCustomizationsStaticPublicToJSONTyped(value?: QRCodeCustomizationsStaticPublic | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'background_color': value['background_color'],\n        'dot_pattern_color': value['dot_pattern_color'],\n        'dot_pattern_type': QRCodeDotPatternTypeToJSON(value['dot_pattern_type']),\n        'corners': QRCodeCornersToJSON(value['corners']),\n        'branding': QRCodeBrandingToJSON(value['branding']),\n        'spec_settings': QRCodeSpecSettingsPublicToJSON(value['spec_settings']),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { QRCodeCustomizationsStaticPublic } from './QRCodeCustomizationsStaticPublic';\nimport {\n    QRCodeCustomizationsStaticPublicFromJSON,\n    QRCodeCustomizationsStaticPublicFromJSONTyped,\n    QRCodeCustomizationsStaticPublicToJSON,\n    QRCodeCustomizationsStaticPublicToJSONTyped,\n} from './QRCodeCustomizationsStaticPublic';\n\n/**\n * Request body for generating a static QR code image. Customizations such as gradient, background_gradient, frame, text and logo are not supported.\n * @export\n * @interface PublicCreateStaticQRCodeRequest\n */\nexport interface PublicCreateStaticQRCodeRequest {\n    /**\n     * The raw content to encode in the QR code (e.g. a URL).\n     * @type {string}\n     * @memberof PublicCreateStaticQRCodeRequest\n     */\n    content: string;\n    /**\n     * The group (brand) GUID used for access control and analytics.\n     * @type {string}\n     * @memberof PublicCreateStaticQRCodeRequest\n     */\n    group_guid: string;\n    /**\n     * \n     * @type {QRCodeCustomizationsStaticPublic}\n     * @memberof PublicCreateStaticQRCodeRequest\n     */\n    render_customizations?: QRCodeCustomizationsStaticPublic;\n}\n\n/**\n * Check if a given object implements the PublicCreateStaticQRCodeRequest interface.\n */\nexport function instanceOfPublicCreateStaticQRCodeRequest(value: object): value is PublicCreateStaticQRCodeRequest {\n    if (!('content' in value) || value['content'] === undefined) return false;\n    if (!('group_guid' in value) || value['group_guid'] === undefined) return false;\n    return true;\n}\n\nexport function PublicCreateStaticQRCodeRequestFromJSON(json: any): PublicCreateStaticQRCodeRequest {\n    return PublicCreateStaticQRCodeRequestFromJSONTyped(json, false);\n}\n\nexport function PublicCreateStaticQRCodeRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): PublicCreateStaticQRCodeRequest {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'content': json['content'],\n        'group_guid': json['group_guid'],\n        'render_customizations': json['render_customizations'] == null ? undefined : QRCodeCustomizationsStaticPublicFromJSON(json['render_customizations']),\n    };\n}\n\nexport function PublicCreateStaticQRCodeRequestToJSON(json: any): PublicCreateStaticQRCodeRequest {\n    return PublicCreateStaticQRCodeRequestToJSONTyped(json, false);\n}\n\nexport function PublicCreateStaticQRCodeRequestToJSONTyped(value?: PublicCreateStaticQRCodeRequest | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'content': value['content'],\n        'group_guid': value['group_guid'],\n        'render_customizations': QRCodeCustomizationsStaticPublicToJSON(value['render_customizations']),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 DeletedQRCode\n */\nexport interface DeletedQRCode {\n    /**\n     * \n     * @type {string}\n     * @memberof DeletedQRCode\n     */\n    id?: string;\n}\n\n/**\n * Check if a given object implements the DeletedQRCode interface.\n */\nexport function instanceOfDeletedQRCode(value: object): value is DeletedQRCode {\n    return true;\n}\n\nexport function DeletedQRCodeFromJSON(json: any): DeletedQRCode {\n    return DeletedQRCodeFromJSONTyped(json, false);\n}\n\nexport function DeletedQRCodeFromJSONTyped(json: any, ignoreDiscriminator: boolean): DeletedQRCode {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'id': json['id'] == null ? undefined : json['id'],\n    };\n}\n\nexport function DeletedQRCodeToJSON(json: any): DeletedQRCode {\n    return DeletedQRCodeToJSONTyped(json, false);\n}\n\nexport function DeletedQRCodeToJSONTyped(value?: DeletedQRCode | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'id': value['id'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { DeletedLink } from './DeletedLink';\nimport {\n    DeletedLinkFromJSON,\n    DeletedLinkFromJSONTyped,\n    DeletedLinkToJSON,\n    DeletedLinkToJSONTyped,\n} from './DeletedLink';\nimport type { DeletedQRCode } from './DeletedQRCode';\nimport {\n    DeletedQRCodeFromJSON,\n    DeletedQRCodeFromJSONTyped,\n    DeletedQRCodeToJSON,\n    DeletedQRCodeToJSONTyped,\n} from './DeletedQRCode';\n\n/**\n * QR Code delete response\n * @export\n * @interface PublicDeleteQRCodeResponse\n */\nexport interface PublicDeleteQRCodeResponse {\n    /**\n     * \n     * @type {Array<DeletedQRCode>}\n     * @memberof PublicDeleteQRCodeResponse\n     */\n    qrcodes_deleted?: Array<DeletedQRCode>;\n    /**\n     * \n     * @type {Array<DeletedLink>}\n     * @memberof PublicDeleteQRCodeResponse\n     */\n    links_deleted?: Array<DeletedLink>;\n}\n\n/**\n * Check if a given object implements the PublicDeleteQRCodeResponse interface.\n */\nexport function instanceOfPublicDeleteQRCodeResponse(value: object): value is PublicDeleteQRCodeResponse {\n    return true;\n}\n\nexport function PublicDeleteQRCodeResponseFromJSON(json: any): PublicDeleteQRCodeResponse {\n    return PublicDeleteQRCodeResponseFromJSONTyped(json, false);\n}\n\nexport function PublicDeleteQRCodeResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): PublicDeleteQRCodeResponse {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'qrcodes_deleted': json['qrcodes_deleted'] == null ? undefined : ((json['qrcodes_deleted'] as Array<any>).map(DeletedQRCodeFromJSON)),\n        'links_deleted': json['links_deleted'] == null ? undefined : ((json['links_deleted'] as Array<any>).map(DeletedLinkFromJSON)),\n    };\n}\n\nexport function PublicDeleteQRCodeResponseToJSON(json: any): PublicDeleteQRCodeResponse {\n    return PublicDeleteQRCodeResponseToJSONTyped(json, false);\n}\n\nexport function PublicDeleteQRCodeResponseToJSONTyped(value?: PublicDeleteQRCodeResponse | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'qrcodes_deleted': value['qrcodes_deleted'] == null ? undefined : ((value['qrcodes_deleted'] as Array<any>).map(DeletedQRCodeToJSON)),\n        'links_deleted': value['links_deleted'] == null ? undefined : ((value['links_deleted'] as Array<any>).map(DeletedLinkToJSON)),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 * Wraps the image data for a QR code.\n * @export\n * @interface PublicQRCodeImageResponse\n */\nexport interface PublicQRCodeImageResponse {\n    /**\n     * The stringified data for the QR code's image\n     * @type {string}\n     * @memberof PublicQRCodeImageResponse\n     */\n    qr_code_image?: string;\n}\n\n/**\n * Check if a given object implements the PublicQRCodeImageResponse interface.\n */\nexport function instanceOfPublicQRCodeImageResponse(value: object): value is PublicQRCodeImageResponse {\n    return true;\n}\n\nexport function PublicQRCodeImageResponseFromJSON(json: any): PublicQRCodeImageResponse {\n    return PublicQRCodeImageResponseFromJSONTyped(json, false);\n}\n\nexport function PublicQRCodeImageResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): PublicQRCodeImageResponse {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'qr_code_image': json['qr_code_image'] == null ? undefined : json['qr_code_image'],\n    };\n}\n\nexport function PublicQRCodeImageResponseToJSON(json: any): PublicQRCodeImageResponse {\n    return PublicQRCodeImageResponseToJSONTyped(json, false);\n}\n\nexport function PublicQRCodeImageResponseToJSONTyped(value?: PublicQRCodeImageResponse | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'qr_code_image': value['qr_code_image'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 * Response containing a generated static QR code image.\n * @export\n * @interface PublicStaticQRCodeResponse\n */\nexport interface PublicStaticQRCodeResponse {\n    /**\n     * The image data, base64-encoded. Format is SVG or PNG depending on the requested format.\n     * @type {string}\n     * @memberof PublicStaticQRCodeResponse\n     */\n    image?: string;\n}\n\n/**\n * Check if a given object implements the PublicStaticQRCodeResponse interface.\n */\nexport function instanceOfPublicStaticQRCodeResponse(value: object): value is PublicStaticQRCodeResponse {\n    return true;\n}\n\nexport function PublicStaticQRCodeResponseFromJSON(json: any): PublicStaticQRCodeResponse {\n    return PublicStaticQRCodeResponseFromJSONTyped(json, false);\n}\n\nexport function PublicStaticQRCodeResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): PublicStaticQRCodeResponse {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'image': json['image'] == null ? undefined : json['image'],\n    };\n}\n\nexport function PublicStaticQRCodeResponseToJSON(json: any): PublicStaticQRCodeResponse {\n    return PublicStaticQRCodeResponseToJSONTyped(json, false);\n}\n\nexport function PublicStaticQRCodeResponseToJSONTyped(value?: PublicStaticQRCodeResponse | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'image': value['image'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { QRCodeCustomizationsPublic } from './QRCodeCustomizationsPublic';\nimport {\n    QRCodeCustomizationsPublicFromJSON,\n    QRCodeCustomizationsPublicFromJSONTyped,\n    QRCodeCustomizationsPublicToJSON,\n    QRCodeCustomizationsPublicToJSONTyped,\n} from './QRCodeCustomizationsPublic';\n\n/**\n * Customization and content values for a QR code created through the public API\n * @export\n * @interface PublicUpdateQRCodeRequest\n */\nexport interface PublicUpdateQRCodeRequest {\n    /**\n     * \n     * @type {string}\n     * @memberof PublicUpdateQRCodeRequest\n     */\n    title?: string;\n    /**\n     * \n     * @type {QRCodeCustomizationsPublic}\n     * @memberof PublicUpdateQRCodeRequest\n     */\n    render_customizations?: QRCodeCustomizationsPublic;\n    /**\n     * A boolean representing if the QR code has been archived\n     * @type {boolean}\n     * @memberof PublicUpdateQRCodeRequest\n     */\n    archived?: boolean;\n    /**\n     * Optional expiration timestamp for the QR code's bitlink (e.g., 2025-01-28T14:30:00+0000). Minimum expiration time is 5 minutes from now and maximum is 1 year.\n     * @type {string}\n     * @memberof PublicUpdateQRCodeRequest\n     */\n    expiration_at?: string;\n    /**\n     * A list of tags to add to the QR code\n     * @type {Array<string>}\n     * @memberof PublicUpdateQRCodeRequest\n     */\n    tags?: Array<string>;\n}\n\n/**\n * Check if a given object implements the PublicUpdateQRCodeRequest interface.\n */\nexport function instanceOfPublicUpdateQRCodeRequest(value: object): value is PublicUpdateQRCodeRequest {\n    return true;\n}\n\nexport function PublicUpdateQRCodeRequestFromJSON(json: any): PublicUpdateQRCodeRequest {\n    return PublicUpdateQRCodeRequestFromJSONTyped(json, false);\n}\n\nexport function PublicUpdateQRCodeRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): PublicUpdateQRCodeRequest {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'title': json['title'] == null ? undefined : json['title'],\n        'render_customizations': json['render_customizations'] == null ? undefined : QRCodeCustomizationsPublicFromJSON(json['render_customizations']),\n        'archived': json['archived'] == null ? undefined : json['archived'],\n        'expiration_at': json['expiration_at'] == null ? undefined : json['expiration_at'],\n        'tags': json['tags'] == null ? undefined : json['tags'],\n    };\n}\n\nexport function PublicUpdateQRCodeRequestToJSON(json: any): PublicUpdateQRCodeRequest {\n    return PublicUpdateQRCodeRequestToJSONTyped(json, false);\n}\n\nexport function PublicUpdateQRCodeRequestToJSONTyped(value?: PublicUpdateQRCodeRequest | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'title': value['title'],\n        'render_customizations': QRCodeCustomizationsPublicToJSON(value['render_customizations']),\n        'archived': value['archived'],\n        'expiration_at': value['expiration_at'],\n        'tags': value['tags'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { QRCodeCustomizationsPublic } from './QRCodeCustomizationsPublic';\nimport {\n    QRCodeCustomizationsPublicFromJSON,\n    QRCodeCustomizationsPublicFromJSONTyped,\n    QRCodeCustomizationsPublicToJSON,\n    QRCodeCustomizationsPublicToJSONTyped,\n} from './QRCodeCustomizationsPublic';\nimport type { QRCodeTypeEnum } from './QRCodeTypeEnum';\nimport {\n    QRCodeTypeEnumFromJSON,\n    QRCodeTypeEnumFromJSONTyped,\n    QRCodeTypeEnumToJSON,\n    QRCodeTypeEnumToJSONTyped,\n} from './QRCodeTypeEnum';\nimport type { GS1Metadata } from './GS1Metadata';\nimport {\n    GS1MetadataFromJSON,\n    GS1MetadataFromJSONTyped,\n    GS1MetadataToJSON,\n    GS1MetadataToJSONTyped,\n} from './GS1Metadata';\n\n/**\n * \n * @export\n * @interface QRCodeDetails\n */\nexport interface QRCodeDetails {\n    /**\n     * \n     * @type {string}\n     * @memberof QRCodeDetails\n     */\n    qrcode_id?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof QRCodeDetails\n     */\n    group_guid?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof QRCodeDetails\n     */\n    title?: string;\n    /**\n     * \n     * @type {GS1Metadata}\n     * @memberof QRCodeDetails\n     */\n    gs1?: GS1Metadata;\n    /**\n     * \n     * @type {QRCodeCustomizationsPublic}\n     * @memberof QRCodeDetails\n     */\n    render_customizations?: QRCodeCustomizationsPublic;\n    /**\n     * \n     * @type {QRCodeTypeEnum}\n     * @memberof QRCodeDetails\n     */\n    qr_code_type?: QRCodeTypeEnum;\n    /**\n     * The bitlink associated with the qr code. Not all qr codes are associated with one.\n     * @type {string}\n     * @memberof QRCodeDetails\n     */\n    bitlink_id?: string;\n    /**\n     * A list of destination URLs that the qr code leads to.\n     * @type {Array<string>}\n     * @memberof QRCodeDetails\n     */\n    long_urls?: Array<string>;\n    /**\n     * The serialized string of the QR code's content\n     * @type {string}\n     * @memberof QRCodeDetails\n     */\n    serialized_content?: string;\n    /**\n     * \n     * @type {boolean}\n     * @memberof QRCodeDetails\n     */\n    archived?: boolean;\n    /**\n     * \n     * @type {string}\n     * @memberof QRCodeDetails\n     */\n    created?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof QRCodeDetails\n     */\n    modified?: string;\n    /**\n     * Optional expiration timestamp for the QR code's bitlink (e.g., 2025-01-28T14:30:00+0000)\n     * @type {string}\n     * @memberof QRCodeDetails\n     */\n    expiration_at?: string;\n    /**\n     * A list of tags associated with QR code\n     * @type {Array<string>}\n     * @memberof QRCodeDetails\n     */\n    tags?: Array<string>;\n}\n\n\n\n/**\n * Check if a given object implements the QRCodeDetails interface.\n */\nexport function instanceOfQRCodeDetails(value: object): value is QRCodeDetails {\n    return true;\n}\n\nexport function QRCodeDetailsFromJSON(json: any): QRCodeDetails {\n    return QRCodeDetailsFromJSONTyped(json, false);\n}\n\nexport function QRCodeDetailsFromJSONTyped(json: any, ignoreDiscriminator: boolean): QRCodeDetails {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'qrcode_id': json['qrcode_id'] == null ? undefined : json['qrcode_id'],\n        'group_guid': json['group_guid'] == null ? undefined : json['group_guid'],\n        'title': json['title'] == null ? undefined : json['title'],\n        'gs1': json['gs1'] == null ? undefined : GS1MetadataFromJSON(json['gs1']),\n        'render_customizations': json['render_customizations'] == null ? undefined : QRCodeCustomizationsPublicFromJSON(json['render_customizations']),\n        'qr_code_type': json['qr_code_type'] == null ? undefined : QRCodeTypeEnumFromJSON(json['qr_code_type']),\n        'bitlink_id': json['bitlink_id'] == null ? undefined : json['bitlink_id'],\n        'long_urls': json['long_urls'] == null ? undefined : json['long_urls'],\n        'serialized_content': json['serialized_content'] == null ? undefined : json['serialized_content'],\n        'archived': json['archived'] == null ? undefined : json['archived'],\n        'created': json['created'] == null ? undefined : json['created'],\n        'modified': json['modified'] == null ? undefined : json['modified'],\n        'expiration_at': json['expiration_at'] == null ? undefined : json['expiration_at'],\n        'tags': json['tags'] == null ? undefined : json['tags'],\n    };\n}\n\nexport function QRCodeDetailsToJSON(json: any): QRCodeDetails {\n    return QRCodeDetailsToJSONTyped(json, false);\n}\n\nexport function QRCodeDetailsToJSONTyped(value?: QRCodeDetails | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'qrcode_id': value['qrcode_id'],\n        'group_guid': value['group_guid'],\n        'title': value['title'],\n        'gs1': GS1MetadataToJSON(value['gs1']),\n        'render_customizations': QRCodeCustomizationsPublicToJSON(value['render_customizations']),\n        'qr_code_type': QRCodeTypeEnumToJSON(value['qr_code_type']),\n        'bitlink_id': value['bitlink_id'],\n        'long_urls': value['long_urls'],\n        'serialized_content': value['serialized_content'],\n        'archived': value['archived'],\n        'created': value['created'],\n        'modified': value['modified'],\n        'expiration_at': value['expiration_at'],\n        'tags': value['tags'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 * This object specifies how to query the next set of results.\n * @export\n * @interface QRPagination\n */\nexport interface QRPagination {\n    /**\n     * a hyperlink to the next set of results.\n     * @type {string}\n     * @memberof QRPagination\n     */\n    next?: string;\n    /**\n     * the identifier of where to begin searching for the next set of results.\n     * @type {string}\n     * @memberof QRPagination\n     */\n    search_after?: string;\n    /**\n     * the number of results returned from this query.\n     * @type {number}\n     * @memberof QRPagination\n     */\n    size?: number;\n}\n\n/**\n * Check if a given object implements the QRPagination interface.\n */\nexport function instanceOfQRPagination(value: object): value is QRPagination {\n    return true;\n}\n\nexport function QRPaginationFromJSON(json: any): QRPagination {\n    return QRPaginationFromJSONTyped(json, false);\n}\n\nexport function QRPaginationFromJSONTyped(json: any, ignoreDiscriminator: boolean): QRPagination {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'next': json['next'] == null ? undefined : json['next'],\n        'search_after': json['search_after'] == null ? undefined : json['search_after'],\n        'size': json['size'] == null ? undefined : json['size'],\n    };\n}\n\nexport function QRPaginationToJSON(json: any): QRPagination {\n    return QRPaginationToJSONTyped(json, false);\n}\n\nexport function QRPaginationToJSONTyped(value?: QRPagination | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'next': value['next'],\n        'search_after': value['search_after'],\n        'size': value['size'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { QRPagination } from './QRPagination';\nimport {\n    QRPaginationFromJSON,\n    QRPaginationFromJSONTyped,\n    QRPaginationToJSON,\n    QRPaginationToJSONTyped,\n} from './QRPagination';\nimport type { QRCodeMinimal } from './QRCodeMinimal';\nimport {\n    QRCodeMinimalFromJSON,\n    QRCodeMinimalFromJSONTyped,\n    QRCodeMinimalToJSON,\n    QRCodeMinimalToJSONTyped,\n} from './QRCodeMinimal';\n\n/**\n * QR code paginated list Response\n * @export\n * @interface QRCodesMinimal\n */\nexport interface QRCodesMinimal {\n    /**\n     * \n     * @type {Array<QRCodeMinimal>}\n     * @memberof QRCodesMinimal\n     */\n    qr_codes?: Array<QRCodeMinimal>;\n    /**\n     * \n     * @type {QRPagination}\n     * @memberof QRCodesMinimal\n     */\n    pagination?: QRPagination;\n}\n\n/**\n * Check if a given object implements the QRCodesMinimal interface.\n */\nexport function instanceOfQRCodesMinimal(value: object): value is QRCodesMinimal {\n    return true;\n}\n\nexport function QRCodesMinimalFromJSON(json: any): QRCodesMinimal {\n    return QRCodesMinimalFromJSONTyped(json, false);\n}\n\nexport function QRCodesMinimalFromJSONTyped(json: any, ignoreDiscriminator: boolean): QRCodesMinimal {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'qr_codes': json['qr_codes'] == null ? undefined : ((json['qr_codes'] as Array<any>).map(QRCodeMinimalFromJSON)),\n        'pagination': json['pagination'] == null ? undefined : QRPaginationFromJSON(json['pagination']),\n    };\n}\n\nexport function QRCodesMinimalToJSON(json: any): QRCodesMinimal {\n    return QRCodesMinimalToJSONTyped(json, false);\n}\n\nexport function QRCodesMinimalToJSONTyped(value?: QRCodesMinimal | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'qr_codes': value['qr_codes'] == null ? undefined : ((value['qr_codes'] as Array<any>).map(QRCodeMinimalToJSON)),\n        'pagination': QRPaginationToJSON(value['pagination']),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 ScanMetric\n */\nexport interface ScanMetric {\n    /**\n     * \n     * @type {number}\n     * @memberof ScanMetric\n     */\n    scans?: number;\n    /**\n     * \n     * @type {string}\n     * @memberof ScanMetric\n     */\n    value?: string;\n}\n\n/**\n * Check if a given object implements the ScanMetric interface.\n */\nexport function instanceOfScanMetric(value: object): value is ScanMetric {\n    return true;\n}\n\nexport function ScanMetricFromJSON(json: any): ScanMetric {\n    return ScanMetricFromJSONTyped(json, false);\n}\n\nexport function ScanMetricFromJSONTyped(json: any, ignoreDiscriminator: boolean): ScanMetric {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'scans': json['scans'] == null ? undefined : json['scans'],\n        'value': json['value'] == null ? undefined : json['value'],\n    };\n}\n\nexport function ScanMetricToJSON(json: any): ScanMetric {\n    return ScanMetricToJSONTyped(json, false);\n}\n\nexport function ScanMetricToJSONTyped(value?: ScanMetric | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'scans': value['scans'],\n        'value': value['value'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { ScanMetric } from './ScanMetric';\nimport {\n    ScanMetricFromJSON,\n    ScanMetricFromJSONTyped,\n    ScanMetricToJSON,\n    ScanMetricToJSONTyped,\n} from './ScanMetric';\n\n/**\n * \n * @export\n * @interface ScanMetrics\n */\nexport interface ScanMetrics {\n    /**\n     * \n     * @type {string}\n     * @memberof ScanMetrics\n     */\n    unit?: string;\n    /**\n     * \n     * @type {number}\n     * @memberof ScanMetrics\n     */\n    units?: number;\n    /**\n     * \n     * @type {ScanMetricsFacetEnum}\n     * @memberof ScanMetrics\n     */\n    facet?: ScanMetricsFacetEnum;\n    /**\n     * \n     * @type {string}\n     * @memberof ScanMetrics\n     */\n    unit_reference?: string;\n    /**\n     * \n     * @type {Array<ScanMetric>}\n     * @memberof ScanMetrics\n     */\n    metrics?: Array<ScanMetric>;\n}\n\n/**\n* @export\n* @enum {string}\n*/\nexport enum ScanMetricsFacetEnum {\n    countries = 'countries',\n    cities = 'cities',\n    device_os = 'device_os',\n    browsers = 'browsers',\n    destinations = 'destinations'\n}\n\n\n/**\n * Check if a given object implements the ScanMetrics interface.\n */\nexport function instanceOfScanMetrics(value: object): value is ScanMetrics {\n    return true;\n}\n\nexport function ScanMetricsFromJSON(json: any): ScanMetrics {\n    return ScanMetricsFromJSONTyped(json, false);\n}\n\nexport function ScanMetricsFromJSONTyped(json: any, ignoreDiscriminator: boolean): ScanMetrics {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'unit': json['unit'] == null ? undefined : json['unit'],\n        'units': json['units'] == null ? undefined : json['units'],\n        'facet': json['facet'] == null ? undefined : json['facet'],\n        'unit_reference': json['unit_reference'] == null ? undefined : json['unit_reference'],\n        'metrics': json['metrics'] == null ? undefined : ((json['metrics'] as Array<any>).map(ScanMetricFromJSON)),\n    };\n}\n\nexport function ScanMetricsToJSON(json: any): ScanMetrics {\n    return ScanMetricsToJSONTyped(json, false);\n}\n\nexport function ScanMetricsToJSONTyped(value?: ScanMetrics | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'unit': value['unit'],\n        'units': value['units'],\n        'facet': value['facet'],\n        'unit_reference': value['unit_reference'],\n        'metrics': value['metrics'] == null ? undefined : ((value['metrics'] as Array<any>).map(ScanMetricToJSON)),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 BadRequest,\n    BadRequestFromJSON,\n    BadRequestToJSON,\n} from '../models/BadRequest';\nimport {\n    type BitlinkScans,\n    BitlinkScansFromJSON,\n    BitlinkScansToJSON,\n} from '../models/BitlinkScans';\nimport {\n    type BitlinkScansSummary,\n    BitlinkScansSummaryFromJSON,\n    BitlinkScansSummaryToJSON,\n} from '../models/BitlinkScansSummary';\nimport {\n    type CityScanMetrics,\n    CityScanMetricsFromJSON,\n    CityScanMetricsToJSON,\n} from '../models/CityScanMetrics';\nimport {\n    type Forbidden,\n    ForbiddenFromJSON,\n    ForbiddenToJSON,\n} from '../models/Forbidden';\nimport {\n    type Gone,\n    GoneFromJSON,\n    GoneToJSON,\n} from '../models/Gone';\nimport {\n    type InternalError,\n    InternalErrorFromJSON,\n    InternalErrorToJSON,\n} from '../models/InternalError';\nimport {\n    type MonthlyLimitExceeded,\n    MonthlyLimitExceededFromJSON,\n    MonthlyLimitExceededToJSON,\n} from '../models/MonthlyLimitExceeded';\nimport {\n    type NotFound,\n    NotFoundFromJSON,\n    NotFoundToJSON,\n} from '../models/NotFound';\nimport {\n    type PublicCreateQRCodeRequest,\n    PublicCreateQRCodeRequestFromJSON,\n    PublicCreateQRCodeRequestToJSON,\n} from '../models/PublicCreateQRCodeRequest';\nimport {\n    type PublicCreateStaticQRCodeRequest,\n    PublicCreateStaticQRCodeRequestFromJSON,\n    PublicCreateStaticQRCodeRequestToJSON,\n} from '../models/PublicCreateStaticQRCodeRequest';\nimport {\n    type PublicDeleteQRCodeResponse,\n    PublicDeleteQRCodeResponseFromJSON,\n    PublicDeleteQRCodeResponseToJSON,\n} from '../models/PublicDeleteQRCodeResponse';\nimport {\n    type PublicQRCodeImageResponse,\n    PublicQRCodeImageResponseFromJSON,\n    PublicQRCodeImageResponseToJSON,\n} from '../models/PublicQRCodeImageResponse';\nimport {\n    type PublicStaticQRCodeResponse,\n    PublicStaticQRCodeResponseFromJSON,\n    PublicStaticQRCodeResponseToJSON,\n} from '../models/PublicStaticQRCodeResponse';\nimport {\n    type PublicUpdateQRCodeRequest,\n    PublicUpdateQRCodeRequestFromJSON,\n    PublicUpdateQRCodeRequestToJSON,\n} from '../models/PublicUpdateQRCodeRequest';\nimport {\n    type QRCodeDetails,\n    QRCodeDetailsFromJSON,\n    QRCodeDetailsToJSON,\n} from '../models/QRCodeDetails';\nimport {\n    type QRCodeMinimal,\n    QRCodeMinimalFromJSON,\n    QRCodeMinimalToJSON,\n} from '../models/QRCodeMinimal';\nimport {\n    type QRCodesMinimal,\n    QRCodesMinimalFromJSON,\n    QRCodesMinimalToJSON,\n} from '../models/QRCodesMinimal';\nimport {\n    type ScanMetrics,\n    ScanMetricsFromJSON,\n    ScanMetricsToJSON,\n} from '../models/ScanMetrics';\nimport {\n    type TemporarilyUnavailable,\n    TemporarilyUnavailableFromJSON,\n    TemporarilyUnavailableToJSON,\n} from '../models/TemporarilyUnavailable';\nimport {\n    type TimeUnit,\n    TimeUnitFromJSON,\n    TimeUnitToJSON,\n} from '../models/TimeUnit';\nimport {\n    type UnprocessableEntity,\n    UnprocessableEntityFromJSON,\n    UnprocessableEntityToJSON,\n} from '../models/UnprocessableEntity';\nimport {\n    type UpgradeRequired,\n    UpgradeRequiredFromJSON,\n    UpgradeRequiredToJSON,\n} from '../models/UpgradeRequired';\n\nexport interface CreateQRCodePublicRequest {\n    public_create_qr_code_request: PublicCreateQRCodeRequest;\n}\n\nexport interface CreateStaticQRCodePublicRequest {\n    public_create_static_qr_code_request: PublicCreateStaticQRCodeRequest;\n    accept?: CreateStaticQRCodePublicAcceptEnum;\n    format?: CreateStaticQRCodePublicFormatEnum;\n}\n\nexport interface DeleteQRCodeRequest {\n    qrcode_id: string;\n}\n\nexport interface GetQRCodeByIdPublicRequest {\n    qrcode_id: string;\n}\n\nexport interface GetQRCodeImagePublicRequest {\n    qrcode_id: string;\n    accept?: string;\n    format?: GetQRCodeImagePublicFormatEnum;\n}\n\nexport interface GetScanMetricsForQRCodeRequest {\n    qrcode_id: string;\n    unit: TimeUnit;\n    units: number;\n    unit_reference?: string;\n}\n\nexport interface GetScanMetricsForQRCodeByBrowserRequest {\n    qrcode_id: string;\n    unit: TimeUnit;\n    units: number;\n    size?: number;\n    unit_reference?: string;\n}\n\nexport interface GetScanMetricsForQRCodeByCitiesRequest {\n    qrcode_id: string;\n    unit: TimeUnit;\n    units: number;\n    size?: number;\n    unit_reference?: string;\n}\n\nexport interface GetScanMetricsForQRCodeByCountriesRequest {\n    qrcode_id: string;\n    unit: TimeUnit;\n    units: number;\n    size?: number;\n    unit_reference?: string;\n}\n\nexport interface GetScanMetricsForQRCodeByDevicesOSRequest {\n    qrcode_id: string;\n    unit: TimeUnit;\n    units: number;\n    size?: number;\n    unit_reference?: string;\n}\n\nexport interface GetScanMetricsSummaryForQRCodeRequest {\n    qrcode_id: string;\n    unit: TimeUnit;\n    units: number;\n    unit_reference?: string;\n}\n\nexport interface ListQRMinimalRequest {\n    group_guid: string;\n    has_render_customizations?: ListQRMinimalHasRenderCustomizationsEnum;\n    size?: number;\n    search_after?: string;\n    query?: string;\n    hostname_path_query?: string;\n    created_before?: number;\n    created_after?: number;\n    archived?: ListQRMinimalArchivedEnum;\n    creating_login?: Array<string>;\n    qrc_type?: Array<ListQRMinimalQrcTypeEnum>;\n    is_gs1?: ListQRMinimalIsGs1Enum;\n    is_expired?: ListQRMinimalIsExpiredEnum;\n    has_expiration?: ListQRMinimalHasExpirationEnum;\n    tags?: Array<string>;\n}\n\nexport interface UpdateQRCodePublicRequest {\n    qrcode_id: string;\n    public_update_qr_code_request: PublicUpdateQRCodeRequest;\n}\n\n/**\n * \n */\nexport class QRCodesApi extends runtime.BaseAPI {\n\n    /**\n     * Creates request options for createQRCodePublic without sending the request\n     */\n    async createQRCodePublicRequestOpts(requestParameters: CreateQRCodePublicRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['public_create_qr_code_request'] == null) {\n            throw new runtime.RequiredError(\n                'public_create_qr_code_request',\n                'Required parameter \"public_create_qr_code_request\" was null or undefined when calling createQRCodePublic().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        headerParameters['Content-Type'] = 'application/json';\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/qr-codes`;\n\n        return {\n            path: urlPath,\n            method: 'POST',\n            headers: headerParameters,\n            query: queryParameters,\n            body: PublicCreateQRCodeRequestToJSON(requestParameters['public_create_qr_code_request']),\n        };\n    }\n\n    /**\n     * Create a new QR Code and return its metadata\n     * Create a QR Code\n     */\n    async createQRCodePublicRaw(requestParameters: CreateQRCodePublicRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<QRCodeMinimal>> {\n        const requestOptions = await this.createQRCodePublicRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => QRCodeMinimalFromJSON(jsonValue));\n    }\n\n    /**\n     * Create a new QR Code and return its metadata\n     * Create a QR Code\n     */\n    async createQRCodePublic(requestParameters: CreateQRCodePublicRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<QRCodeMinimal> {\n        const response = await this.createQRCodePublicRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for createStaticQRCodePublic without sending the request\n     */\n    async createStaticQRCodePublicRequestOpts(requestParameters: CreateStaticQRCodePublicRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['public_create_static_qr_code_request'] == null) {\n            throw new runtime.RequiredError(\n                'public_create_static_qr_code_request',\n                'Required parameter \"public_create_static_qr_code_request\" was null or undefined when calling createStaticQRCodePublic().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['format'] != null) {\n            queryParameters['format'] = requestParameters['format'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        headerParameters['Content-Type'] = 'application/json';\n\n        if (requestParameters['accept'] != null) {\n            headerParameters['Accept'] = String(requestParameters['accept']);\n        }\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/qr-codes/static`;\n\n        return {\n            path: urlPath,\n            method: 'POST',\n            headers: headerParameters,\n            query: queryParameters,\n            body: PublicCreateStaticQRCodeRequestToJSON(requestParameters['public_create_static_qr_code_request']),\n        };\n    }\n\n    /**\n     * Generate a static QR code image without creating or saving a QR code resource. SVG and PNG output are supported via the Accept header Contact your Account Manager to discuss enabling this feature for your account.  The `render_customizations` field supports basic appearance options. Customizations that require the rasterize API are not supported: `gradient`, `background_gradient`, `frame`, `text`, and `logo`.  The Accept header controls the response format: - `application/json` (default): Returns a JSON object with the image as a base64-encoded byte string. - `image/svg+xml`: Returns the raw SVG image. - `image/png`: Returns the raw PNG image. \n     * Generate a static QR Code image\n     */\n    async createStaticQRCodePublicRaw(requestParameters: CreateStaticQRCodePublicRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PublicStaticQRCodeResponse>> {\n        const requestOptions = await this.createStaticQRCodePublicRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => PublicStaticQRCodeResponseFromJSON(jsonValue));\n    }\n\n    /**\n     * Generate a static QR code image without creating or saving a QR code resource. SVG and PNG output are supported via the Accept header Contact your Account Manager to discuss enabling this feature for your account.  The `render_customizations` field supports basic appearance options. Customizations that require the rasterize API are not supported: `gradient`, `background_gradient`, `frame`, `text`, and `logo`.  The Accept header controls the response format: - `application/json` (default): Returns a JSON object with the image as a base64-encoded byte string. - `image/svg+xml`: Returns the raw SVG image. - `image/png`: Returns the raw PNG image. \n     * Generate a static QR Code image\n     */\n    async createStaticQRCodePublic(requestParameters: CreateStaticQRCodePublicRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PublicStaticQRCodeResponse> {\n        const response = await this.createStaticQRCodePublicRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for deleteQRCode without sending the request\n     */\n    async deleteQRCodeRequestOpts(requestParameters: DeleteQRCodeRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['qrcode_id'] == null) {\n            throw new runtime.RequiredError(\n                'qrcode_id',\n                'Required parameter \"qrcode_id\" was null or undefined when calling deleteQRCode().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/qr-codes/{qrcode_id}`;\n        urlPath = urlPath.replace('{qrcode_id}', encodeURIComponent(String(requestParameters['qrcode_id'])));\n\n        return {\n            path: urlPath,\n            method: 'DELETE',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Delete a QR Code that has not been redirected and is not for a custom link. Also deletes the associated link (if applicable).\n     * Delete a QR Code\n     */\n    async deleteQRCodeRaw(requestParameters: DeleteQRCodeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PublicDeleteQRCodeResponse>> {\n        const requestOptions = await this.deleteQRCodeRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => PublicDeleteQRCodeResponseFromJSON(jsonValue));\n    }\n\n    /**\n     * Delete a QR Code that has not been redirected and is not for a custom link. Also deletes the associated link (if applicable).\n     * Delete a QR Code\n     */\n    async deleteQRCode(requestParameters: DeleteQRCodeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PublicDeleteQRCodeResponse> {\n        const response = await this.deleteQRCodeRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getQRCodeByIdPublic without sending the request\n     */\n    async getQRCodeByIdPublicRequestOpts(requestParameters: GetQRCodeByIdPublicRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['qrcode_id'] == null) {\n            throw new runtime.RequiredError(\n                'qrcode_id',\n                'Required parameter \"qrcode_id\" was null or undefined when calling getQRCodeByIdPublic().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/qr-codes/{qrcode_id}`;\n        urlPath = urlPath.replace('{qrcode_id}', encodeURIComponent(String(requestParameters['qrcode_id'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Gets the QR code with a matching id.\n     * Retrieve a QR Code\n     */\n    async getQRCodeByIdPublicRaw(requestParameters: GetQRCodeByIdPublicRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<QRCodeDetails>> {\n        const requestOptions = await this.getQRCodeByIdPublicRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => QRCodeDetailsFromJSON(jsonValue));\n    }\n\n    /**\n     * Gets the QR code with a matching id.\n     * Retrieve a QR Code\n     */\n    async getQRCodeByIdPublic(requestParameters: GetQRCodeByIdPublicRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<QRCodeDetails> {\n        const response = await this.getQRCodeByIdPublicRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getQRCodeImagePublic without sending the request\n     */\n    async getQRCodeImagePublicRequestOpts(requestParameters: GetQRCodeImagePublicRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['qrcode_id'] == null) {\n            throw new runtime.RequiredError(\n                'qrcode_id',\n                'Required parameter \"qrcode_id\" was null or undefined when calling getQRCodeImagePublic().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['format'] != null) {\n            queryParameters['format'] = requestParameters['format'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (requestParameters['accept'] != null) {\n            headerParameters['Accept'] = String(requestParameters['accept']);\n        }\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/qr-codes/{qrcode_id}/image`;\n        urlPath = urlPath.replace('{qrcode_id}', encodeURIComponent(String(requestParameters['qrcode_id'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Get the image of a given QR Code. The Accept header controls how this is returned (options are \\\"application/json\\\", \\\"image/svg+xml\\\", and \\\"image/png\\\"). If the Accept header is \\\"application/json\\\" the format query parameter will determine the image format inside of the json (which will be base64 encoded and prefixed with its mime type as would be suitable for a HTML image src tag). To Return the QR Code image itself, set the Accept header to \\\"image/svg+xml\\\" or \\\"image/png\\\", or remove the Accept header and set the format query parameter to “svg” or “png” (if no format is specified the default will be “svg”). \n     * Retrieve a QR Code image\n     */\n    async getQRCodeImagePublicRaw(requestParameters: GetQRCodeImagePublicRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PublicQRCodeImageResponse>> {\n        const requestOptions = await this.getQRCodeImagePublicRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => PublicQRCodeImageResponseFromJSON(jsonValue));\n    }\n\n    /**\n     * Get the image of a given QR Code. The Accept header controls how this is returned (options are \\\"application/json\\\", \\\"image/svg+xml\\\", and \\\"image/png\\\"). If the Accept header is \\\"application/json\\\" the format query parameter will determine the image format inside of the json (which will be base64 encoded and prefixed with its mime type as would be suitable for a HTML image src tag). To Return the QR Code image itself, set the Accept header to \\\"image/svg+xml\\\" or \\\"image/png\\\", or remove the Accept header and set the format query parameter to “svg” or “png” (if no format is specified the default will be “svg”). \n     * Retrieve a QR Code image\n     */\n    async getQRCodeImagePublic(requestParameters: GetQRCodeImagePublicRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PublicQRCodeImageResponse> {\n        const response = await this.getQRCodeImagePublicRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getScanMetricsForQRCode without sending the request\n     */\n    async getScanMetricsForQRCodeRequestOpts(requestParameters: GetScanMetricsForQRCodeRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['qrcode_id'] == null) {\n            throw new runtime.RequiredError(\n                'qrcode_id',\n                'Required parameter \"qrcode_id\" was null or undefined when calling getScanMetricsForQRCode().'\n            );\n        }\n\n        if (requestParameters['unit'] == null) {\n            throw new runtime.RequiredError(\n                'unit',\n                'Required parameter \"unit\" was null or undefined when calling getScanMetricsForQRCode().'\n            );\n        }\n\n        if (requestParameters['units'] == null) {\n            throw new runtime.RequiredError(\n                'units',\n                'Required parameter \"units\" was null or undefined when calling getScanMetricsForQRCode().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['unit'] != null) {\n            queryParameters['unit'] = requestParameters['unit'];\n        }\n\n        if (requestParameters['units'] != null) {\n            queryParameters['units'] = requestParameters['units'];\n        }\n\n        if (requestParameters['unit_reference'] != null) {\n            queryParameters['unit_reference'] = requestParameters['unit_reference'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/qr-codes/{qrcode_id}/scans`;\n        urlPath = urlPath.replace('{qrcode_id}', encodeURIComponent(String(requestParameters['qrcode_id'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns an array of scan counts for the specified QR code. The array is comprised of scan counts for each time window, where the window is based on the provided unit.\n     * Get Scans for a QR Code\n     */\n    async getScanMetricsForQRCodeRaw(requestParameters: GetScanMetricsForQRCodeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<BitlinkScans>> {\n        const requestOptions = await this.getScanMetricsForQRCodeRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => BitlinkScansFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns an array of scan counts for the specified QR code. The array is comprised of scan counts for each time window, where the window is based on the provided unit.\n     * Get Scans for a QR Code\n     */\n    async getScanMetricsForQRCode(requestParameters: GetScanMetricsForQRCodeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<BitlinkScans> {\n        const response = await this.getScanMetricsForQRCodeRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getScanMetricsForQRCodeByBrowser without sending the request\n     */\n    async getScanMetricsForQRCodeByBrowserRequestOpts(requestParameters: GetScanMetricsForQRCodeByBrowserRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['qrcode_id'] == null) {\n            throw new runtime.RequiredError(\n                'qrcode_id',\n                'Required parameter \"qrcode_id\" was null or undefined when calling getScanMetricsForQRCodeByBrowser().'\n            );\n        }\n\n        if (requestParameters['unit'] == null) {\n            throw new runtime.RequiredError(\n                'unit',\n                'Required parameter \"unit\" was null or undefined when calling getScanMetricsForQRCodeByBrowser().'\n            );\n        }\n\n        if (requestParameters['units'] == null) {\n            throw new runtime.RequiredError(\n                'units',\n                'Required parameter \"units\" was null or undefined when calling getScanMetricsForQRCodeByBrowser().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['unit'] != null) {\n            queryParameters['unit'] = requestParameters['unit'];\n        }\n\n        if (requestParameters['units'] != null) {\n            queryParameters['units'] = requestParameters['units'];\n        }\n\n        if (requestParameters['size'] != null) {\n            queryParameters['size'] = requestParameters['size'];\n        }\n\n        if (requestParameters['unit_reference'] != null) {\n            queryParameters['unit_reference'] = requestParameters['unit_reference'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/qr-codes/{qrcode_id}/scans/browsers`;\n        urlPath = urlPath.replace('{qrcode_id}', encodeURIComponent(String(requestParameters['qrcode_id'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns the browsers generating scan traffic to the specified QR Code.\n     * Get Scans for a QR Code by Browser\n     */\n    async getScanMetricsForQRCodeByBrowserRaw(requestParameters: GetScanMetricsForQRCodeByBrowserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ScanMetrics>> {\n        const requestOptions = await this.getScanMetricsForQRCodeByBrowserRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => ScanMetricsFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns the browsers generating scan traffic to the specified QR Code.\n     * Get Scans for a QR Code by Browser\n     */\n    async getScanMetricsForQRCodeByBrowser(requestParameters: GetScanMetricsForQRCodeByBrowserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ScanMetrics> {\n        const response = await this.getScanMetricsForQRCodeByBrowserRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getScanMetricsForQRCodeByCities without sending the request\n     */\n    async getScanMetricsForQRCodeByCitiesRequestOpts(requestParameters: GetScanMetricsForQRCodeByCitiesRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['qrcode_id'] == null) {\n            throw new runtime.RequiredError(\n                'qrcode_id',\n                'Required parameter \"qrcode_id\" was null or undefined when calling getScanMetricsForQRCodeByCities().'\n            );\n        }\n\n        if (requestParameters['unit'] == null) {\n            throw new runtime.RequiredError(\n                'unit',\n                'Required parameter \"unit\" was null or undefined when calling getScanMetricsForQRCodeByCities().'\n            );\n        }\n\n        if (requestParameters['units'] == null) {\n            throw new runtime.RequiredError(\n                'units',\n                'Required parameter \"units\" was null or undefined when calling getScanMetricsForQRCodeByCities().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['unit'] != null) {\n            queryParameters['unit'] = requestParameters['unit'];\n        }\n\n        if (requestParameters['units'] != null) {\n            queryParameters['units'] = requestParameters['units'];\n        }\n\n        if (requestParameters['size'] != null) {\n            queryParameters['size'] = requestParameters['size'];\n        }\n\n        if (requestParameters['unit_reference'] != null) {\n            queryParameters['unit_reference'] = requestParameters['unit_reference'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/qr-codes/{qrcode_id}/scans/cities`;\n        urlPath = urlPath.replace('{qrcode_id}', encodeURIComponent(String(requestParameters['qrcode_id'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns the city origins of scan traffic for the specified QR Code.\n     * Get Metrics for a QR Code by City\n     */\n    async getScanMetricsForQRCodeByCitiesRaw(requestParameters: GetScanMetricsForQRCodeByCitiesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CityScanMetrics>> {\n        const requestOptions = await this.getScanMetricsForQRCodeByCitiesRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => CityScanMetricsFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns the city origins of scan traffic for the specified QR Code.\n     * Get Metrics for a QR Code by City\n     */\n    async getScanMetricsForQRCodeByCities(requestParameters: GetScanMetricsForQRCodeByCitiesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CityScanMetrics> {\n        const response = await this.getScanMetricsForQRCodeByCitiesRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getScanMetricsForQRCodeByCountries without sending the request\n     */\n    async getScanMetricsForQRCodeByCountriesRequestOpts(requestParameters: GetScanMetricsForQRCodeByCountriesRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['qrcode_id'] == null) {\n            throw new runtime.RequiredError(\n                'qrcode_id',\n                'Required parameter \"qrcode_id\" was null or undefined when calling getScanMetricsForQRCodeByCountries().'\n            );\n        }\n\n        if (requestParameters['unit'] == null) {\n            throw new runtime.RequiredError(\n                'unit',\n                'Required parameter \"unit\" was null or undefined when calling getScanMetricsForQRCodeByCountries().'\n            );\n        }\n\n        if (requestParameters['units'] == null) {\n            throw new runtime.RequiredError(\n                'units',\n                'Required parameter \"units\" was null or undefined when calling getScanMetricsForQRCodeByCountries().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['unit'] != null) {\n            queryParameters['unit'] = requestParameters['unit'];\n        }\n\n        if (requestParameters['units'] != null) {\n            queryParameters['units'] = requestParameters['units'];\n        }\n\n        if (requestParameters['size'] != null) {\n            queryParameters['size'] = requestParameters['size'];\n        }\n\n        if (requestParameters['unit_reference'] != null) {\n            queryParameters['unit_reference'] = requestParameters['unit_reference'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/qr-codes/{qrcode_id}/scans/countries`;\n        urlPath = urlPath.replace('{qrcode_id}', encodeURIComponent(String(requestParameters['qrcode_id'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns the country origins of scan traffic for the specified QR Code.\n     * Get Scans for a QR Code by Country\n     */\n    async getScanMetricsForQRCodeByCountriesRaw(requestParameters: GetScanMetricsForQRCodeByCountriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ScanMetrics>> {\n        const requestOptions = await this.getScanMetricsForQRCodeByCountriesRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => ScanMetricsFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns the country origins of scan traffic for the specified QR Code.\n     * Get Scans for a QR Code by Country\n     */\n    async getScanMetricsForQRCodeByCountries(requestParameters: GetScanMetricsForQRCodeByCountriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ScanMetrics> {\n        const response = await this.getScanMetricsForQRCodeByCountriesRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getScanMetricsForQRCodeByDevicesOS without sending the request\n     */\n    async getScanMetricsForQRCodeByDevicesOSRequestOpts(requestParameters: GetScanMetricsForQRCodeByDevicesOSRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['qrcode_id'] == null) {\n            throw new runtime.RequiredError(\n                'qrcode_id',\n                'Required parameter \"qrcode_id\" was null or undefined when calling getScanMetricsForQRCodeByDevicesOS().'\n            );\n        }\n\n        if (requestParameters['unit'] == null) {\n            throw new runtime.RequiredError(\n                'unit',\n                'Required parameter \"unit\" was null or undefined when calling getScanMetricsForQRCodeByDevicesOS().'\n            );\n        }\n\n        if (requestParameters['units'] == null) {\n            throw new runtime.RequiredError(\n                'units',\n                'Required parameter \"units\" was null or undefined when calling getScanMetricsForQRCodeByDevicesOS().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['unit'] != null) {\n            queryParameters['unit'] = requestParameters['unit'];\n        }\n\n        if (requestParameters['units'] != null) {\n            queryParameters['units'] = requestParameters['units'];\n        }\n\n        if (requestParameters['size'] != null) {\n            queryParameters['size'] = requestParameters['size'];\n        }\n\n        if (requestParameters['unit_reference'] != null) {\n            queryParameters['unit_reference'] = requestParameters['unit_reference'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/qr-codes/{qrcode_id}/scans/device_os`;\n        urlPath = urlPath.replace('{qrcode_id}', encodeURIComponent(String(requestParameters['qrcode_id'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns the device os generating scan traffic for the specified QR Code.\n     * Get Scans for a QR Code by Device OS\n     */\n    async getScanMetricsForQRCodeByDevicesOSRaw(requestParameters: GetScanMetricsForQRCodeByDevicesOSRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ScanMetrics>> {\n        const requestOptions = await this.getScanMetricsForQRCodeByDevicesOSRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => ScanMetricsFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns the device os generating scan traffic for the specified QR Code.\n     * Get Scans for a QR Code by Device OS\n     */\n    async getScanMetricsForQRCodeByDevicesOS(requestParameters: GetScanMetricsForQRCodeByDevicesOSRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ScanMetrics> {\n        const response = await this.getScanMetricsForQRCodeByDevicesOSRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getScanMetricsSummaryForQRCode without sending the request\n     */\n    async getScanMetricsSummaryForQRCodeRequestOpts(requestParameters: GetScanMetricsSummaryForQRCodeRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['qrcode_id'] == null) {\n            throw new runtime.RequiredError(\n                'qrcode_id',\n                'Required parameter \"qrcode_id\" was null or undefined when calling getScanMetricsSummaryForQRCode().'\n            );\n        }\n\n        if (requestParameters['unit'] == null) {\n            throw new runtime.RequiredError(\n                'unit',\n                'Required parameter \"unit\" was null or undefined when calling getScanMetricsSummaryForQRCode().'\n            );\n        }\n\n        if (requestParameters['units'] == null) {\n            throw new runtime.RequiredError(\n                'units',\n                'Required parameter \"units\" was null or undefined when calling getScanMetricsSummaryForQRCode().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['unit'] != null) {\n            queryParameters['unit'] = requestParameters['unit'];\n        }\n\n        if (requestParameters['units'] != null) {\n            queryParameters['units'] = requestParameters['units'];\n        }\n\n        if (requestParameters['unit_reference'] != null) {\n            queryParameters['unit_reference'] = requestParameters['unit_reference'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/qr-codes/{qrcode_id}/scans/summary`;\n        urlPath = urlPath.replace('{qrcode_id}', encodeURIComponent(String(requestParameters['qrcode_id'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns the scan counts for a QR Code rolled up into a single field for a specified time window, where the window is based on the provided unit.\n     * Get Scans Summary for a QR Code\n     */\n    async getScanMetricsSummaryForQRCodeRaw(requestParameters: GetScanMetricsSummaryForQRCodeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<BitlinkScansSummary>> {\n        const requestOptions = await this.getScanMetricsSummaryForQRCodeRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => BitlinkScansSummaryFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns the scan counts for a QR Code rolled up into a single field for a specified time window, where the window is based on the provided unit.\n     * Get Scans Summary for a QR Code\n     */\n    async getScanMetricsSummaryForQRCode(requestParameters: GetScanMetricsSummaryForQRCodeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<BitlinkScansSummary> {\n        const response = await this.getScanMetricsSummaryForQRCodeRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for listQRMinimal without sending the request\n     */\n    async listQRMinimalRequestOpts(requestParameters: ListQRMinimalRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['group_guid'] == null) {\n            throw new runtime.RequiredError(\n                'group_guid',\n                'Required parameter \"group_guid\" was null or undefined when calling listQRMinimal().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        if (requestParameters['has_render_customizations'] != null) {\n            queryParameters['has_render_customizations'] = requestParameters['has_render_customizations'];\n        }\n\n        if (requestParameters['size'] != null) {\n            queryParameters['size'] = requestParameters['size'];\n        }\n\n        if (requestParameters['search_after'] != null) {\n            queryParameters['search_after'] = requestParameters['search_after'];\n        }\n\n        if (requestParameters['query'] != null) {\n            queryParameters['query'] = requestParameters['query'];\n        }\n\n        if (requestParameters['hostname_path_query'] != null) {\n            queryParameters['hostname_path_query'] = requestParameters['hostname_path_query'];\n        }\n\n        if (requestParameters['created_before'] != null) {\n            queryParameters['created_before'] = requestParameters['created_before'];\n        }\n\n        if (requestParameters['created_after'] != null) {\n            queryParameters['created_after'] = requestParameters['created_after'];\n        }\n\n        if (requestParameters['archived'] != null) {\n            queryParameters['archived'] = requestParameters['archived'];\n        }\n\n        if (requestParameters['creating_login'] != null) {\n            queryParameters['creating_login'] = requestParameters['creating_login'];\n        }\n\n        if (requestParameters['qrc_type'] != null) {\n            queryParameters['qrc_type'] = requestParameters['qrc_type'];\n        }\n\n        if (requestParameters['is_gs1'] != null) {\n            queryParameters['is_gs1'] = requestParameters['is_gs1'];\n        }\n\n        if (requestParameters['is_expired'] != null) {\n            queryParameters['is_expired'] = requestParameters['is_expired'];\n        }\n\n        if (requestParameters['has_expiration'] != null) {\n            queryParameters['has_expiration'] = requestParameters['has_expiration'];\n        }\n\n        if (requestParameters['tags'] != null) {\n            queryParameters['tags'] = requestParameters['tags'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/groups/{group_guid}/qr-codes`;\n        urlPath = urlPath.replace('{group_guid}', encodeURIComponent(String(requestParameters['group_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Retrieves a list of QR codes matching the filter settings. Values are in reverse chronological order. The pagination occurs by calling the next link in the pagination response object. \n     * Retrieve QR Codes by Group\n     */\n    async listQRMinimalRaw(requestParameters: ListQRMinimalRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<QRCodesMinimal>> {\n        const requestOptions = await this.listQRMinimalRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => QRCodesMinimalFromJSON(jsonValue));\n    }\n\n    /**\n     * Retrieves a list of QR codes matching the filter settings. Values are in reverse chronological order. The pagination occurs by calling the next link in the pagination response object. \n     * Retrieve QR Codes by Group\n     */\n    async listQRMinimal(requestParameters: ListQRMinimalRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<QRCodesMinimal> {\n        const response = await this.listQRMinimalRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for updateQRCodePublic without sending the request\n     */\n    async updateQRCodePublicRequestOpts(requestParameters: UpdateQRCodePublicRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['qrcode_id'] == null) {\n            throw new runtime.RequiredError(\n                'qrcode_id',\n                'Required parameter \"qrcode_id\" was null or undefined when calling updateQRCodePublic().'\n            );\n        }\n\n        if (requestParameters['public_update_qr_code_request'] == null) {\n            throw new runtime.RequiredError(\n                'public_update_qr_code_request',\n                'Required parameter \"public_update_qr_code_request\" was null or undefined when calling updateQRCodePublic().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        headerParameters['Content-Type'] = 'application/json';\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/qr-codes/{qrcode_id}`;\n        urlPath = urlPath.replace('{qrcode_id}', encodeURIComponent(String(requestParameters['qrcode_id'])));\n\n        return {\n            path: urlPath,\n            method: 'PATCH',\n            headers: headerParameters,\n            query: queryParameters,\n            body: PublicUpdateQRCodeRequestToJSON(requestParameters['public_update_qr_code_request']),\n        };\n    }\n\n    /**\n     * Updates the QR code with a matching id and returns it.\n     * Update a QR Code\n     */\n    async updateQRCodePublicRaw(requestParameters: UpdateQRCodePublicRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<QRCodeMinimal>> {\n        const requestOptions = await this.updateQRCodePublicRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => QRCodeMinimalFromJSON(jsonValue));\n    }\n\n    /**\n     * Updates the QR code with a matching id and returns it.\n     * Update a QR Code\n     */\n    async updateQRCodePublic(requestParameters: UpdateQRCodePublicRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<QRCodeMinimal> {\n        const response = await this.updateQRCodePublicRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n}\n\n/**\n  * @export\n  * @enum {string}\n  */\nexport enum CreateStaticQRCodePublicAcceptEnum {\n    application_json = 'application/json',\n    image_svgxml = 'image/svg+xml',\n    image_png = 'image/png'\n}\n/**\n  * @export\n  * @enum {string}\n  */\nexport enum CreateStaticQRCodePublicFormatEnum {\n    svg = 'svg',\n    png = 'png'\n}\n/**\n  * @export\n  * @enum {string}\n  */\nexport enum GetQRCodeImagePublicFormatEnum {\n    svg = 'svg',\n    png = 'png'\n}\n/**\n  * @export\n  * @enum {string}\n  */\nexport enum ListQRMinimalHasRenderCustomizationsEnum {\n    on = 'on',\n    off = 'off',\n    both = 'both'\n}\n/**\n  * @export\n  * @enum {string}\n  */\nexport enum ListQRMinimalArchivedEnum {\n    on = 'on',\n    off = 'off',\n    both = 'both'\n}\n/**\n  * @export\n  * @enum {string}\n  */\nexport enum ListQRMinimalQrcTypeEnum {\n    bitlink = 'bitlink',\n    long_url = 'long_url'\n}\n/**\n  * @export\n  * @enum {string}\n  */\nexport enum ListQRMinimalIsGs1Enum {\n    on = 'on',\n    off = 'off',\n    both = 'both'\n}\n/**\n  * @export\n  * @enum {string}\n  */\nexport enum ListQRMinimalIsExpiredEnum {\n    on = 'on',\n    off = 'off',\n    both = 'both'\n}\n/**\n  * @export\n  * @enum {string}\n  */\nexport enum ListQRMinimalHasExpirationEnum {\n    on = 'on',\n    off = 'off',\n    both = 'both'\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 MethodLimit\n */\nexport interface MethodLimit {\n    /**\n     * \n     * @type {string}\n     * @memberof MethodLimit\n     */\n    name?: string;\n    /**\n     * \n     * @type {number}\n     * @memberof MethodLimit\n     */\n    limit?: number;\n    /**\n     * \n     * @type {number}\n     * @memberof MethodLimit\n     */\n    count?: number;\n}\n\n/**\n * Check if a given object implements the MethodLimit interface.\n */\nexport function instanceOfMethodLimit(value: object): value is MethodLimit {\n    return true;\n}\n\nexport function MethodLimitFromJSON(json: any): MethodLimit {\n    return MethodLimitFromJSONTyped(json, false);\n}\n\nexport function MethodLimitFromJSONTyped(json: any, ignoreDiscriminator: boolean): MethodLimit {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'name': json['name'] == null ? undefined : json['name'],\n        'limit': json['limit'] == null ? undefined : json['limit'],\n        'count': json['count'] == null ? undefined : json['count'],\n    };\n}\n\nexport function MethodLimitToJSON(json: any): MethodLimit {\n    return MethodLimitToJSONTyped(json, false);\n}\n\nexport function MethodLimitToJSONTyped(value?: MethodLimit | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'name': value['name'],\n        'limit': value['limit'],\n        'count': value['count'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { MethodLimit } from './MethodLimit';\nimport {\n    MethodLimitFromJSON,\n    MethodLimitFromJSONTyped,\n    MethodLimitToJSON,\n    MethodLimitToJSONTyped,\n} from './MethodLimit';\n\n/**\n * \n * @export\n * @interface PlatformLimit\n */\nexport interface PlatformLimit {\n    /**\n     * \n     * @type {string}\n     * @memberof PlatformLimit\n     */\n    endpoint?: string;\n    /**\n     * \n     * @type {Array<MethodLimit>}\n     * @memberof PlatformLimit\n     */\n    methods?: Array<MethodLimit>;\n}\n\n/**\n * Check if a given object implements the PlatformLimit interface.\n */\nexport function instanceOfPlatformLimit(value: object): value is PlatformLimit {\n    return true;\n}\n\nexport function PlatformLimitFromJSON(json: any): PlatformLimit {\n    return PlatformLimitFromJSONTyped(json, false);\n}\n\nexport function PlatformLimitFromJSONTyped(json: any, ignoreDiscriminator: boolean): PlatformLimit {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'endpoint': json['endpoint'] == null ? undefined : json['endpoint'],\n        'methods': json['methods'] == null ? undefined : ((json['methods'] as Array<any>).map(MethodLimitFromJSON)),\n    };\n}\n\nexport function PlatformLimitToJSON(json: any): PlatformLimit {\n    return PlatformLimitToJSONTyped(json, false);\n}\n\nexport function PlatformLimitToJSONTyped(value?: PlatformLimit | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'endpoint': value['endpoint'],\n        'methods': value['methods'] == null ? undefined : ((value['methods'] as Array<any>).map(MethodLimitToJSON)),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { PlatformLimit } from './PlatformLimit';\nimport {\n    PlatformLimitFromJSON,\n    PlatformLimitFromJSONTyped,\n    PlatformLimitToJSON,\n    PlatformLimitToJSONTyped,\n} from './PlatformLimit';\n\n/**\n * \n * @export\n * @interface PlatformLimits\n */\nexport interface PlatformLimits {\n    /**\n     * \n     * @type {Array<PlatformLimit>}\n     * @memberof PlatformLimits\n     */\n    platform_limits?: Array<PlatformLimit>;\n}\n\n/**\n * Check if a given object implements the PlatformLimits interface.\n */\nexport function instanceOfPlatformLimits(value: object): value is PlatformLimits {\n    return true;\n}\n\nexport function PlatformLimitsFromJSON(json: any): PlatformLimits {\n    return PlatformLimitsFromJSONTyped(json, false);\n}\n\nexport function PlatformLimitsFromJSONTyped(json: any, ignoreDiscriminator: boolean): PlatformLimits {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'platform_limits': json['platform_limits'] == null ? undefined : ((json['platform_limits'] as Array<any>).map(PlatformLimitFromJSON)),\n    };\n}\n\nexport function PlatformLimitsToJSON(json: any): PlatformLimits {\n    return PlatformLimitsToJSONTyped(json, false);\n}\n\nexport function PlatformLimitsToJSONTyped(value?: PlatformLimits | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'platform_limits': value['platform_limits'] == null ? undefined : ((value['platform_limits'] as Array<any>).map(PlatformLimitToJSON)),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 Email\n */\nexport interface Email {\n    /**\n     * \n     * @type {string}\n     * @memberof Email\n     */\n    email?: string;\n    /**\n     * \n     * @type {boolean}\n     * @memberof Email\n     */\n    is_primary?: boolean;\n    /**\n     * \n     * @type {boolean}\n     * @memberof Email\n     */\n    is_verified?: boolean;\n}\n\n/**\n * Check if a given object implements the Email interface.\n */\nexport function instanceOfEmail(value: object): value is Email {\n    return true;\n}\n\nexport function EmailFromJSON(json: any): Email {\n    return EmailFromJSONTyped(json, false);\n}\n\nexport function EmailFromJSONTyped(json: any, ignoreDiscriminator: boolean): Email {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'email': json['email'] == null ? undefined : json['email'],\n        'is_primary': json['is_primary'] == null ? undefined : json['is_primary'],\n        'is_verified': json['is_verified'] == null ? undefined : json['is_verified'],\n    };\n}\n\nexport function EmailToJSON(json: any): Email {\n    return EmailToJSONTyped(json, false);\n}\n\nexport function EmailToJSONTyped(value?: Email | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'email': value['email'],\n        'is_primary': value['is_primary'],\n        'is_verified': value['is_verified'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { Email } from './Email';\nimport {\n    EmailFromJSON,\n    EmailFromJSONTyped,\n    EmailToJSON,\n    EmailToJSONTyped,\n} from './Email';\n\n/**\n * \n * @export\n * @interface User\n */\nexport interface User {\n    /**\n     * \n     * @type {string}\n     * @memberof User\n     */\n    login: string;\n    /**\n     * \n     * @type {string}\n     * @memberof User\n     */\n    name: string;\n    /**\n     * \n     * @type {boolean}\n     * @memberof User\n     */\n    is_active: boolean;\n    /**\n     * \n     * @type {string}\n     * @memberof User\n     */\n    created: string;\n    /**\n     * \n     * @type {string}\n     * @memberof User\n     */\n    modified: string;\n    /**\n     * \n     * @type {boolean}\n     * @memberof User\n     */\n    is_sso_user: boolean;\n    /**\n     * \n     * @type {Array<Email>}\n     * @memberof User\n     */\n    emails: Array<Email>;\n    /**\n     * \n     * @type {boolean}\n     * @memberof User\n     */\n    is_2fa_enabled: boolean;\n    /**\n     * \n     * @type {string}\n     * @memberof User\n     */\n    default_group_guid?: string;\n}\n\n/**\n * Check if a given object implements the User interface.\n */\nexport function instanceOfUser(value: object): value is User {\n    if (!('login' in value) || value['login'] === undefined) return false;\n    if (!('name' in value) || value['name'] === undefined) return false;\n    if (!('is_active' in value) || value['is_active'] === undefined) return false;\n    if (!('created' in value) || value['created'] === undefined) return false;\n    if (!('modified' in value) || value['modified'] === undefined) return false;\n    if (!('is_sso_user' in value) || value['is_sso_user'] === undefined) return false;\n    if (!('emails' in value) || value['emails'] === undefined) return false;\n    if (!('is_2fa_enabled' in value) || value['is_2fa_enabled'] === undefined) return false;\n    return true;\n}\n\nexport function UserFromJSON(json: any): User {\n    return UserFromJSONTyped(json, false);\n}\n\nexport function UserFromJSONTyped(json: any, ignoreDiscriminator: boolean): User {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'login': json['login'],\n        'name': json['name'],\n        'is_active': json['is_active'],\n        'created': json['created'],\n        'modified': json['modified'],\n        'is_sso_user': json['is_sso_user'],\n        'emails': ((json['emails'] as Array<any>).map(EmailFromJSON)),\n        'is_2fa_enabled': json['is_2fa_enabled'],\n        'default_group_guid': json['default_group_guid'] == null ? undefined : json['default_group_guid'],\n    };\n}\n\nexport function UserToJSON(json: any): User {\n    return UserToJSONTyped(json, false);\n}\n\nexport function UserToJSONTyped(value?: User | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'login': value['login'],\n        'name': value['name'],\n        'is_active': value['is_active'],\n        'created': value['created'],\n        'modified': value['modified'],\n        'is_sso_user': value['is_sso_user'],\n        'emails': ((value['emails'] as Array<any>).map(EmailToJSON)),\n        'is_2fa_enabled': value['is_2fa_enabled'],\n        'default_group_guid': value['default_group_guid'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 UserUpdate\n */\nexport interface UserUpdate {\n    /**\n     * \n     * @type {string}\n     * @memberof UserUpdate\n     */\n    name?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof UserUpdate\n     */\n    default_group_guid?: string;\n}\n\n/**\n * Check if a given object implements the UserUpdate interface.\n */\nexport function instanceOfUserUpdate(value: object): value is UserUpdate {\n    return true;\n}\n\nexport function UserUpdateFromJSON(json: any): UserUpdate {\n    return UserUpdateFromJSONTyped(json, false);\n}\n\nexport function UserUpdateFromJSONTyped(json: any, ignoreDiscriminator: boolean): UserUpdate {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'name': json['name'] == null ? undefined : json['name'],\n        'default_group_guid': json['default_group_guid'] == null ? undefined : json['default_group_guid'],\n    };\n}\n\nexport function UserUpdateToJSON(json: any): UserUpdate {\n    return UserUpdateToJSONTyped(json, false);\n}\n\nexport function UserUpdateToJSONTyped(value?: UserUpdate | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'name': value['name'],\n        'default_group_guid': value['default_group_guid'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 BadRequest,\n    BadRequestFromJSON,\n    BadRequestToJSON,\n} from '../models/BadRequest';\nimport {\n    type Forbidden,\n    ForbiddenFromJSON,\n    ForbiddenToJSON,\n} from '../models/Forbidden';\nimport {\n    type InternalError,\n    InternalErrorFromJSON,\n    InternalErrorToJSON,\n} from '../models/InternalError';\nimport {\n    type NotFound,\n    NotFoundFromJSON,\n    NotFoundToJSON,\n} from '../models/NotFound';\nimport {\n    type PlatformLimits,\n    PlatformLimitsFromJSON,\n    PlatformLimitsToJSON,\n} from '../models/PlatformLimits';\nimport {\n    type TemporarilyUnavailable,\n    TemporarilyUnavailableFromJSON,\n    TemporarilyUnavailableToJSON,\n} from '../models/TemporarilyUnavailable';\nimport {\n    type UnprocessableEntity,\n    UnprocessableEntityFromJSON,\n    UnprocessableEntityToJSON,\n} from '../models/UnprocessableEntity';\nimport {\n    type User,\n    UserFromJSON,\n    UserToJSON,\n} from '../models/User';\nimport {\n    type UserUpdate,\n    UserUpdateFromJSON,\n    UserUpdateToJSON,\n} from '../models/UserUpdate';\n\nexport interface GetPlatformLimitsRequest {\n    path?: string;\n}\n\nexport interface UpdateUserRequest {\n    user_update: UserUpdate;\n}\n\n/**\n * \n */\nexport class UserApi extends runtime.BaseAPI {\n\n    /**\n     * Creates request options for getPlatformLimits without sending the request\n     */\n    async getPlatformLimitsRequestOpts(requestParameters: GetPlatformLimitsRequest): Promise<runtime.RequestOpts> {\n        const queryParameters: any = {};\n\n        if (requestParameters['path'] != null) {\n            queryParameters['path'] = requestParameters['path'];\n        }\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/user/platform_limits`;\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Fetch all platform limits and counts available for an organization\n     * Get Platform Limits\n     */\n    async getPlatformLimitsRaw(requestParameters: GetPlatformLimitsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PlatformLimits>> {\n        const requestOptions = await this.getPlatformLimitsRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => PlatformLimitsFromJSON(jsonValue));\n    }\n\n    /**\n     * Fetch all platform limits and counts available for an organization\n     * Get Platform Limits\n     */\n    async getPlatformLimits(requestParameters: GetPlatformLimitsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PlatformLimits> {\n        const response = await this.getPlatformLimitsRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getUser without sending the request\n     */\n    async getUserRequestOpts(): Promise<runtime.RequestOpts> {\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/user`;\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns information for the current authenticated user.\n     * Retrieve a User\n     */\n    async getUserRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<User>> {\n        const requestOptions = await this.getUserRequestOpts();\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => UserFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns information for the current authenticated user.\n     * Retrieve a User\n     */\n    async getUser(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<User> {\n        const response = await this.getUserRaw(initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for updateUser without sending the request\n     */\n    async updateUserRequestOpts(requestParameters: UpdateUserRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['user_update'] == null) {\n            throw new runtime.RequiredError(\n                'user_update',\n                'Required parameter \"user_update\" was null or undefined when calling updateUser().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        headerParameters['Content-Type'] = 'application/json';\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/user`;\n\n        return {\n            path: urlPath,\n            method: 'PATCH',\n            headers: headerParameters,\n            query: queryParameters,\n            body: UserUpdateToJSON(requestParameters['user_update']),\n        };\n    }\n\n    /**\n     * Update fields in the user\n     * Update a User\n     */\n    async updateUserRaw(requestParameters: UpdateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<User>> {\n        const requestOptions = await this.updateUserRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => UserFromJSON(jsonValue));\n    }\n\n    /**\n     * Update fields in the user\n     * Update a User\n     */\n    async updateUser(requestParameters: UpdateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<User> {\n        const response = await this.updateUserRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 Webhook\n */\nexport interface Webhook {\n    /**\n     * \n     * @type {{ [key: string]: string; }}\n     * @memberof Webhook\n     */\n    references?: { [key: string]: string; };\n    /**\n     * \n     * @type {string}\n     * @memberof Webhook\n     */\n    guid: string;\n    /**\n     * \n     * @type {string}\n     * @memberof Webhook\n     */\n    created: string;\n    /**\n     * \n     * @type {string}\n     * @memberof Webhook\n     */\n    modified: string;\n    /**\n     * \n     * @type {string}\n     * @memberof Webhook\n     */\n    modified_by: string;\n    /**\n     * \n     * @type {string}\n     * @memberof Webhook\n     */\n    alerted: string;\n    /**\n     * \n     * @type {string}\n     * @memberof Webhook\n     */\n    deactivated: string;\n    /**\n     * \n     * @type {boolean}\n     * @memberof Webhook\n     */\n    is_active: boolean;\n    /**\n     * \n     * @type {boolean}\n     * @memberof Webhook\n     */\n    is_alert: boolean;\n    /**\n     * \n     * @type {string}\n     * @memberof Webhook\n     */\n    organization_guid: string;\n    /**\n     * \n     * @type {string}\n     * @memberof Webhook\n     */\n    group_guid?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof Webhook\n     */\n    name: string;\n    /**\n     * \n     * @type {string}\n     * @memberof Webhook\n     */\n    event: string;\n    /**\n     * \n     * @type {string}\n     * @memberof Webhook\n     */\n    url: string;\n    /**\n     * \n     * @type {string}\n     * @memberof Webhook\n     */\n    status?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof Webhook\n     */\n    oauth_url?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof Webhook\n     */\n    client_id?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof Webhook\n     */\n    client_secret?: string;\n    /**\n     * \n     * @type {boolean}\n     * @memberof Webhook\n     */\n    fetch_tags?: boolean;\n}\n\n/**\n * Check if a given object implements the Webhook interface.\n */\nexport function instanceOfWebhook(value: object): value is Webhook {\n    if (!('guid' in value) || value['guid'] === undefined) return false;\n    if (!('created' in value) || value['created'] === undefined) return false;\n    if (!('modified' in value) || value['modified'] === undefined) return false;\n    if (!('modified_by' in value) || value['modified_by'] === undefined) return false;\n    if (!('alerted' in value) || value['alerted'] === undefined) return false;\n    if (!('deactivated' in value) || value['deactivated'] === undefined) return false;\n    if (!('is_active' in value) || value['is_active'] === undefined) return false;\n    if (!('is_alert' in value) || value['is_alert'] === undefined) return false;\n    if (!('organization_guid' in value) || value['organization_guid'] === undefined) return false;\n    if (!('name' in value) || value['name'] === undefined) return false;\n    if (!('event' in value) || value['event'] === undefined) return false;\n    if (!('url' in value) || value['url'] === undefined) return false;\n    return true;\n}\n\nexport function WebhookFromJSON(json: any): Webhook {\n    return WebhookFromJSONTyped(json, false);\n}\n\nexport function WebhookFromJSONTyped(json: any, ignoreDiscriminator: boolean): Webhook {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'references': json['references'] == null ? undefined : json['references'],\n        'guid': json['guid'],\n        'created': json['created'],\n        'modified': json['modified'],\n        'modified_by': json['modified_by'],\n        'alerted': json['alerted'],\n        'deactivated': json['deactivated'],\n        'is_active': json['is_active'],\n        'is_alert': json['is_alert'],\n        'organization_guid': json['organization_guid'],\n        'group_guid': json['group_guid'] == null ? undefined : json['group_guid'],\n        'name': json['name'],\n        'event': json['event'],\n        'url': json['url'],\n        'status': json['status'] == null ? undefined : json['status'],\n        'oauth_url': json['oauth_url'] == null ? undefined : json['oauth_url'],\n        'client_id': json['client_id'] == null ? undefined : json['client_id'],\n        'client_secret': json['client_secret'] == null ? undefined : json['client_secret'],\n        'fetch_tags': json['fetch_tags'] == null ? undefined : json['fetch_tags'],\n    };\n}\n\nexport function WebhookToJSON(json: any): Webhook {\n    return WebhookToJSONTyped(json, false);\n}\n\nexport function WebhookToJSONTyped(value?: Webhook | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'references': value['references'],\n        'guid': value['guid'],\n        'created': value['created'],\n        'modified': value['modified'],\n        'modified_by': value['modified_by'],\n        'alerted': value['alerted'],\n        'deactivated': value['deactivated'],\n        'is_active': value['is_active'],\n        'is_alert': value['is_alert'],\n        'organization_guid': value['organization_guid'],\n        'group_guid': value['group_guid'],\n        'name': value['name'],\n        'event': value['event'],\n        'url': value['url'],\n        'status': value['status'],\n        'oauth_url': value['oauth_url'],\n        'client_id': value['client_id'],\n        'client_secret': value['client_secret'],\n        'fetch_tags': value['fetch_tags'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 WebhookCreate\n */\nexport interface WebhookCreate {\n    /**\n     * \n     * @type {boolean}\n     * @memberof WebhookCreate\n     */\n    is_active?: boolean;\n    /**\n     * \n     * @type {string}\n     * @memberof WebhookCreate\n     */\n    organization_guid: string;\n    /**\n     * \n     * @type {string}\n     * @memberof WebhookCreate\n     */\n    group_guid?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof WebhookCreate\n     */\n    name: string;\n    /**\n     * \n     * @type {string}\n     * @memberof WebhookCreate\n     */\n    event: string;\n    /**\n     * \n     * @type {string}\n     * @memberof WebhookCreate\n     */\n    url: string;\n    /**\n     * \n     * @type {string}\n     * @memberof WebhookCreate\n     */\n    oauth_url?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof WebhookCreate\n     */\n    client_id?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof WebhookCreate\n     */\n    client_secret?: string;\n    /**\n     * \n     * @type {boolean}\n     * @memberof WebhookCreate\n     */\n    fetch_tags?: boolean;\n}\n\n/**\n * Check if a given object implements the WebhookCreate interface.\n */\nexport function instanceOfWebhookCreate(value: object): value is WebhookCreate {\n    if (!('organization_guid' in value) || value['organization_guid'] === undefined) return false;\n    if (!('name' in value) || value['name'] === undefined) return false;\n    if (!('event' in value) || value['event'] === undefined) return false;\n    if (!('url' in value) || value['url'] === undefined) return false;\n    return true;\n}\n\nexport function WebhookCreateFromJSON(json: any): WebhookCreate {\n    return WebhookCreateFromJSONTyped(json, false);\n}\n\nexport function WebhookCreateFromJSONTyped(json: any, ignoreDiscriminator: boolean): WebhookCreate {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'is_active': json['is_active'] == null ? undefined : json['is_active'],\n        'organization_guid': json['organization_guid'],\n        'group_guid': json['group_guid'] == null ? undefined : json['group_guid'],\n        'name': json['name'],\n        'event': json['event'],\n        'url': json['url'],\n        'oauth_url': json['oauth_url'] == null ? undefined : json['oauth_url'],\n        'client_id': json['client_id'] == null ? undefined : json['client_id'],\n        'client_secret': json['client_secret'] == null ? undefined : json['client_secret'],\n        'fetch_tags': json['fetch_tags'] == null ? undefined : json['fetch_tags'],\n    };\n}\n\nexport function WebhookCreateToJSON(json: any): WebhookCreate {\n    return WebhookCreateToJSONTyped(json, false);\n}\n\nexport function WebhookCreateToJSONTyped(value?: WebhookCreate | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'is_active': value['is_active'],\n        'organization_guid': value['organization_guid'],\n        'group_guid': value['group_guid'],\n        'name': value['name'],\n        'event': value['event'],\n        'url': value['url'],\n        'oauth_url': value['oauth_url'],\n        'client_id': value['client_id'],\n        'client_secret': value['client_secret'],\n        'fetch_tags': value['fetch_tags'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 WebhookUpdate\n */\nexport interface WebhookUpdate {\n    /**\n     * \n     * @type {string}\n     * @memberof WebhookUpdate\n     */\n    guid: string;\n    /**\n     * \n     * @type {boolean}\n     * @memberof WebhookUpdate\n     */\n    is_active?: boolean;\n    /**\n     * \n     * @type {string}\n     * @memberof WebhookUpdate\n     */\n    organization_guid?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof WebhookUpdate\n     */\n    group_guid?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof WebhookUpdate\n     */\n    name?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof WebhookUpdate\n     */\n    event?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof WebhookUpdate\n     */\n    url?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof WebhookUpdate\n     */\n    oauth_url?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof WebhookUpdate\n     */\n    client_id?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof WebhookUpdate\n     */\n    client_secret?: string;\n    /**\n     * \n     * @type {boolean}\n     * @memberof WebhookUpdate\n     */\n    fetch_tags?: boolean;\n}\n\n/**\n * Check if a given object implements the WebhookUpdate interface.\n */\nexport function instanceOfWebhookUpdate(value: object): value is WebhookUpdate {\n    if (!('guid' in value) || value['guid'] === undefined) return false;\n    return true;\n}\n\nexport function WebhookUpdateFromJSON(json: any): WebhookUpdate {\n    return WebhookUpdateFromJSONTyped(json, false);\n}\n\nexport function WebhookUpdateFromJSONTyped(json: any, ignoreDiscriminator: boolean): WebhookUpdate {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'guid': json['guid'],\n        'is_active': json['is_active'] == null ? undefined : json['is_active'],\n        'organization_guid': json['organization_guid'] == null ? undefined : json['organization_guid'],\n        'group_guid': json['group_guid'] == null ? undefined : json['group_guid'],\n        'name': json['name'] == null ? undefined : json['name'],\n        'event': json['event'] == null ? undefined : json['event'],\n        'url': json['url'] == null ? undefined : json['url'],\n        'oauth_url': json['oauth_url'] == null ? undefined : json['oauth_url'],\n        'client_id': json['client_id'] == null ? undefined : json['client_id'],\n        'client_secret': json['client_secret'] == null ? undefined : json['client_secret'],\n        'fetch_tags': json['fetch_tags'] == null ? undefined : json['fetch_tags'],\n    };\n}\n\nexport function WebhookUpdateToJSON(json: any): WebhookUpdate {\n    return WebhookUpdateToJSONTyped(json, false);\n}\n\nexport function WebhookUpdateToJSONTyped(value?: WebhookUpdate | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'guid': value['guid'],\n        'is_active': value['is_active'],\n        'organization_guid': value['organization_guid'],\n        'group_guid': value['group_guid'],\n        'name': value['name'],\n        'event': value['event'],\n        'url': value['url'],\n        'oauth_url': value['oauth_url'],\n        'client_id': value['client_id'],\n        'client_secret': value['client_secret'],\n        'fetch_tags': value['fetch_tags'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { Webhook } from './Webhook';\nimport {\n    WebhookFromJSON,\n    WebhookFromJSONTyped,\n    WebhookToJSON,\n    WebhookToJSONTyped,\n} from './Webhook';\n\n/**\n * \n * @export\n * @interface Webhooks\n */\nexport interface Webhooks {\n    /**\n     * \n     * @type {Array<Webhook>}\n     * @memberof Webhooks\n     */\n    webhooks?: Array<Webhook>;\n}\n\n/**\n * Check if a given object implements the Webhooks interface.\n */\nexport function instanceOfWebhooks(value: object): value is Webhooks {\n    return true;\n}\n\nexport function WebhooksFromJSON(json: any): Webhooks {\n    return WebhooksFromJSONTyped(json, false);\n}\n\nexport function WebhooksFromJSONTyped(json: any, ignoreDiscriminator: boolean): Webhooks {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'webhooks': json['webhooks'] == null ? undefined : ((json['webhooks'] as Array<any>).map(WebhookFromJSON)),\n    };\n}\n\nexport function WebhooksToJSON(json: any): Webhooks {\n    return WebhooksToJSONTyped(json, false);\n}\n\nexport function WebhooksToJSONTyped(value?: Webhooks | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'webhooks': value['webhooks'] == null ? undefined : ((value['webhooks'] as Array<any>).map(WebhookToJSON)),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 BadRequest,\n    BadRequestFromJSON,\n    BadRequestToJSON,\n} from '../models/BadRequest';\nimport {\n    type Forbidden,\n    ForbiddenFromJSON,\n    ForbiddenToJSON,\n} from '../models/Forbidden';\nimport {\n    type InternalError,\n    InternalErrorFromJSON,\n    InternalErrorToJSON,\n} from '../models/InternalError';\nimport {\n    type MonthlyLimitExceeded,\n    MonthlyLimitExceededFromJSON,\n    MonthlyLimitExceededToJSON,\n} from '../models/MonthlyLimitExceeded';\nimport {\n    type NotFound,\n    NotFoundFromJSON,\n    NotFoundToJSON,\n} from '../models/NotFound';\nimport {\n    type TemporarilyUnavailable,\n    TemporarilyUnavailableFromJSON,\n    TemporarilyUnavailableToJSON,\n} from '../models/TemporarilyUnavailable';\nimport {\n    type UnprocessableEntity,\n    UnprocessableEntityFromJSON,\n    UnprocessableEntityToJSON,\n} from '../models/UnprocessableEntity';\nimport {\n    type UpgradeRequired,\n    UpgradeRequiredFromJSON,\n    UpgradeRequiredToJSON,\n} from '../models/UpgradeRequired';\nimport {\n    type Webhook,\n    WebhookFromJSON,\n    WebhookToJSON,\n} from '../models/Webhook';\nimport {\n    type WebhookCreate,\n    WebhookCreateFromJSON,\n    WebhookCreateToJSON,\n} from '../models/WebhookCreate';\nimport {\n    type WebhookUpdate,\n    WebhookUpdateFromJSON,\n    WebhookUpdateToJSON,\n} from '../models/WebhookUpdate';\nimport {\n    type Webhooks,\n    WebhooksFromJSON,\n    WebhooksToJSON,\n} from '../models/Webhooks';\n\nexport interface CreateWebhookRequest {\n    webhook_create: WebhookCreate;\n}\n\nexport interface DeleteWebhookRequest {\n    webhook_guid: string;\n}\n\nexport interface GetWebhookRequest {\n    webhook_guid: string;\n}\n\nexport interface GetWebhooksRequest {\n    organization_guid: string;\n}\n\nexport interface UpdateWebhookRequest {\n    webhook_guid: string;\n    webhook_update: WebhookUpdate;\n}\n\nexport interface VerifyWebhookRequest {\n    webhook_guid: string;\n}\n\n/**\n * \n */\nexport class WebhooksApi extends runtime.BaseAPI {\n\n    /**\n     * Creates request options for createWebhook without sending the request\n     */\n    async createWebhookRequestOpts(requestParameters: CreateWebhookRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['webhook_create'] == null) {\n            throw new runtime.RequiredError(\n                'webhook_create',\n                'Required parameter \"webhook_create\" was null or undefined when calling createWebhook().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        headerParameters['Content-Type'] = 'application/json';\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/webhooks`;\n\n        return {\n            path: urlPath,\n            method: 'POST',\n            headers: headerParameters,\n            query: queryParameters,\n            body: WebhookCreateToJSON(requestParameters['webhook_create']),\n        };\n    }\n\n    /**\n     * Creates a webhook.\n     * Create Webhook\n     */\n    async createWebhookRaw(requestParameters: CreateWebhookRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Webhook>> {\n        const requestOptions = await this.createWebhookRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => WebhookFromJSON(jsonValue));\n    }\n\n    /**\n     * Creates a webhook.\n     * Create Webhook\n     */\n    async createWebhook(requestParameters: CreateWebhookRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Webhook> {\n        const response = await this.createWebhookRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for deleteWebhook without sending the request\n     */\n    async deleteWebhookRequestOpts(requestParameters: DeleteWebhookRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['webhook_guid'] == null) {\n            throw new runtime.RequiredError(\n                'webhook_guid',\n                'Required parameter \"webhook_guid\" was null or undefined when calling deleteWebhook().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/webhooks/{webhook_guid}`;\n        urlPath = urlPath.replace('{webhook_guid}', encodeURIComponent(String(requestParameters['webhook_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'DELETE',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Deletes a webhook.\n     * Delete Webhook\n     */\n    async deleteWebhookRaw(requestParameters: DeleteWebhookRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {\n        const requestOptions = await this.deleteWebhookRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.VoidApiResponse(response);\n    }\n\n    /**\n     * Deletes a webhook.\n     * Delete Webhook\n     */\n    async deleteWebhook(requestParameters: DeleteWebhookRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {\n        await this.deleteWebhookRaw(requestParameters, initOverrides);\n    }\n\n    /**\n     * Creates request options for getWebhook without sending the request\n     */\n    async getWebhookRequestOpts(requestParameters: GetWebhookRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['webhook_guid'] == null) {\n            throw new runtime.RequiredError(\n                'webhook_guid',\n                'Required parameter \"webhook_guid\" was null or undefined when calling getWebhook().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/webhooks/{webhook_guid}`;\n        urlPath = urlPath.replace('{webhook_guid}', encodeURIComponent(String(requestParameters['webhook_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Returns a webhook.\n     * Retrieve Webhook\n     */\n    async getWebhookRaw(requestParameters: GetWebhookRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Webhook>> {\n        const requestOptions = await this.getWebhookRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => WebhookFromJSON(jsonValue));\n    }\n\n    /**\n     * Returns a webhook.\n     * Retrieve Webhook\n     */\n    async getWebhook(requestParameters: GetWebhookRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Webhook> {\n        const response = await this.getWebhookRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for getWebhooks without sending the request\n     */\n    async getWebhooksRequestOpts(requestParameters: GetWebhooksRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['organization_guid'] == null) {\n            throw new runtime.RequiredError(\n                'organization_guid',\n                'Required parameter \"organization_guid\" was null or undefined when calling getWebhooks().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/organizations/{organization_guid}/webhooks`;\n        urlPath = urlPath.replace('{organization_guid}', encodeURIComponent(String(requestParameters['organization_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Fetch all webhooks available for an Organization\n     * Get Webhooks\n     */\n    async getWebhooksRaw(requestParameters: GetWebhooksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Webhooks>> {\n        const requestOptions = await this.getWebhooksRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => WebhooksFromJSON(jsonValue));\n    }\n\n    /**\n     * Fetch all webhooks available for an Organization\n     * Get Webhooks\n     */\n    async getWebhooks(requestParameters: GetWebhooksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Webhooks> {\n        const response = await this.getWebhooksRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for updateWebhook without sending the request\n     */\n    async updateWebhookRequestOpts(requestParameters: UpdateWebhookRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['webhook_guid'] == null) {\n            throw new runtime.RequiredError(\n                'webhook_guid',\n                'Required parameter \"webhook_guid\" was null or undefined when calling updateWebhook().'\n            );\n        }\n\n        if (requestParameters['webhook_update'] == null) {\n            throw new runtime.RequiredError(\n                'webhook_update',\n                'Required parameter \"webhook_update\" was null or undefined when calling updateWebhook().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        headerParameters['Content-Type'] = 'application/json';\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/webhooks/{webhook_guid}`;\n        urlPath = urlPath.replace('{webhook_guid}', encodeURIComponent(String(requestParameters['webhook_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'PATCH',\n            headers: headerParameters,\n            query: queryParameters,\n            body: WebhookUpdateToJSON(requestParameters['webhook_update']),\n        };\n    }\n\n    /**\n     * Update a webhook\n     * Update Webhook\n     */\n    async updateWebhookRaw(requestParameters: UpdateWebhookRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Webhook>> {\n        const requestOptions = await this.updateWebhookRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => WebhookFromJSON(jsonValue));\n    }\n\n    /**\n     * Update a webhook\n     * Update Webhook\n     */\n    async updateWebhook(requestParameters: UpdateWebhookRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Webhook> {\n        const response = await this.updateWebhookRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates request options for verifyWebhook without sending the request\n     */\n    async verifyWebhookRequestOpts(requestParameters: VerifyWebhookRequest): Promise<runtime.RequestOpts> {\n        if (requestParameters['webhook_guid'] == null) {\n            throw new runtime.RequiredError(\n                'webhook_guid',\n                'Required parameter \"webhook_guid\" was null or undefined when calling verifyWebhook().'\n            );\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && this.configuration.accessToken) {\n            const token = this.configuration.accessToken;\n            const tokenString = await token(\"bearerAuth\", []);\n\n            if (tokenString) {\n                headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n            }\n        }\n\n        let urlPath = `/webhooks/{webhook_guid}/verify`;\n        urlPath = urlPath.replace('{webhook_guid}', encodeURIComponent(String(requestParameters['webhook_guid'])));\n\n        return {\n            path: urlPath,\n            method: 'POST',\n            headers: headerParameters,\n            query: queryParameters,\n        };\n    }\n\n    /**\n     * Sends ping event to test webhook configuration.\n     * Verify Webhook\n     */\n    async verifyWebhookRaw(requestParameters: VerifyWebhookRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Webhook>> {\n        const requestOptions = await this.verifyWebhookRequestOpts(requestParameters);\n        const response = await this.request(requestOptions, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => WebhookFromJSON(jsonValue));\n    }\n\n    /**\n     * Sends ping event to test webhook configuration.\n     * Verify Webhook\n     */\n    async verifyWebhook(requestParameters: VerifyWebhookRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Webhook> {\n        const response = await this.verifyWebhookRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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     * \n     * @type {string}\n     * @memberof FieldError\n     */\n    field?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof FieldError\n     */\n    error_code?: string;\n    /**\n     * \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    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'] == null ? undefined : json['field'],\n        'error_code': json['error_code'] == null ? undefined : json['error_code'],\n        'message': json['message'] == null ? undefined : 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        'error_code': value['error_code'],\n        'message': value['message'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 * BAD_GATEWAY\n * @export\n * @interface BadGateway\n */\nexport interface BadGateway {\n    /**\n     * \n     * @type {string}\n     * @memberof BadGateway\n     */\n    message?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof BadGateway\n     */\n    description?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof BadGateway\n     */\n    resource?: string;\n    /**\n     * \n     * @type {Array<FieldError>}\n     * @memberof BadGateway\n     */\n    errors?: Array<FieldError>;\n}\n\n/**\n * Check if a given object implements the BadGateway interface.\n */\nexport function instanceOfBadGateway(value: object): value is BadGateway {\n    return true;\n}\n\nexport function BadGatewayFromJSON(json: any): BadGateway {\n    return BadGatewayFromJSONTyped(json, false);\n}\n\nexport function BadGatewayFromJSONTyped(json: any, ignoreDiscriminator: boolean): BadGateway {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'message': json['message'] == null ? undefined : json['message'],\n        'description': json['description'] == null ? undefined : json['description'],\n        'resource': json['resource'] == null ? undefined : json['resource'],\n        'errors': json['errors'] == null ? undefined : ((json['errors'] as Array<any>).map(FieldErrorFromJSON)),\n    };\n}\n\nexport function BadGatewayToJSON(json: any): BadGateway {\n    return BadGatewayToJSONTyped(json, false);\n}\n\nexport function BadGatewayToJSONTyped(value?: BadGateway | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'message': value['message'],\n        'description': value['description'],\n        'resource': value['resource'],\n        'errors': value['errors'] == null ? undefined : ((value['errors'] as Array<any>).map(FieldErrorToJSON)),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 * BAD_REQUEST\n * @export\n * @interface BadRequest\n */\nexport interface BadRequest {\n    /**\n     * \n     * @type {string}\n     * @memberof BadRequest\n     */\n    message?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof BadRequest\n     */\n    description?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof BadRequest\n     */\n    resource?: string;\n    /**\n     * \n     * @type {Array<FieldError>}\n     * @memberof BadRequest\n     */\n    errors?: Array<FieldError>;\n}\n\n/**\n * Check if a given object implements the BadRequest interface.\n */\nexport function instanceOfBadRequest(value: object): value is BadRequest {\n    return true;\n}\n\nexport function BadRequestFromJSON(json: any): BadRequest {\n    return BadRequestFromJSONTyped(json, false);\n}\n\nexport function BadRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): BadRequest {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'message': json['message'] == null ? undefined : json['message'],\n        'description': json['description'] == null ? undefined : json['description'],\n        'resource': json['resource'] == null ? undefined : json['resource'],\n        'errors': json['errors'] == null ? undefined : ((json['errors'] as Array<any>).map(FieldErrorFromJSON)),\n    };\n}\n\nexport function BadRequestToJSON(json: any): BadRequest {\n    return BadRequestToJSONTyped(json, false);\n}\n\nexport function BadRequestToJSONTyped(value?: BadRequest | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'message': value['message'],\n        'description': value['description'],\n        'resource': value['resource'],\n        'errors': value['errors'] == null ? undefined : ((value['errors'] as Array<any>).map(FieldErrorToJSON)),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 BaseChannel\n */\nexport interface BaseChannel {\n    /**\n     * \n     * @type {string}\n     * @memberof BaseChannel\n     */\n    name?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof BaseChannel\n     */\n    guid?: string;\n    /**\n     * ISO TIMESTAMP\n     * @type {string}\n     * @memberof BaseChannel\n     */\n    created?: string;\n    /**\n     * ISO_TIMESTAMP\n     * @type {string}\n     * @memberof BaseChannel\n     */\n    modified?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof BaseChannel\n     */\n    group_guid?: string;\n}\n\n/**\n * Check if a given object implements the BaseChannel interface.\n */\nexport function instanceOfBaseChannel(value: object): value is BaseChannel {\n    return true;\n}\n\nexport function BaseChannelFromJSON(json: any): BaseChannel {\n    return BaseChannelFromJSONTyped(json, false);\n}\n\nexport function BaseChannelFromJSONTyped(json: any, ignoreDiscriminator: boolean): BaseChannel {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'name': json['name'] == null ? undefined : json['name'],\n        'guid': json['guid'] == null ? undefined : json['guid'],\n        'created': json['created'] == null ? undefined : json['created'],\n        'modified': json['modified'] == null ? undefined : json['modified'],\n        'group_guid': json['group_guid'] == null ? undefined : json['group_guid'],\n    };\n}\n\nexport function BaseChannelToJSON(json: any): BaseChannel {\n    return BaseChannelToJSONTyped(json, false);\n}\n\nexport function BaseChannelToJSONTyped(value?: BaseChannel | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'name': value['name'],\n        'guid': value['guid'],\n        'created': value['created'],\n        'modified': value['modified'],\n        'group_guid': value['group_guid'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 BaseMetrics\n */\nexport interface BaseMetrics {\n    /**\n     * \n     * @type {string}\n     * @memberof BaseMetrics\n     */\n    unit?: string;\n    /**\n     * \n     * @type {number}\n     * @memberof BaseMetrics\n     */\n    units?: number;\n    /**\n     * \n     * @type {BaseMetricsFacetEnum}\n     * @memberof BaseMetrics\n     */\n    facet?: BaseMetricsFacetEnum;\n    /**\n     * \n     * @type {string}\n     * @memberof BaseMetrics\n     */\n    unit_reference?: string;\n}\n\n/**\n* @export\n* @enum {string}\n*/\nexport enum BaseMetricsFacetEnum {\n    countries = 'countries',\n    cities = 'cities',\n    devices = 'devices',\n    referrers = 'referrers',\n    referrers_by_domain = 'referrers_by_domain',\n    referring_domains = 'referring_domains',\n    referring_networks = 'referring_networks',\n    shorten_counts = 'shorten_counts',\n    destinations = 'destinations'\n}\n\n\n/**\n * Check if a given object implements the BaseMetrics interface.\n */\nexport function instanceOfBaseMetrics(value: object): value is BaseMetrics {\n    return true;\n}\n\nexport function BaseMetricsFromJSON(json: any): BaseMetrics {\n    return BaseMetricsFromJSONTyped(json, false);\n}\n\nexport function BaseMetricsFromJSONTyped(json: any, ignoreDiscriminator: boolean): BaseMetrics {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'unit': json['unit'] == null ? undefined : json['unit'],\n        'units': json['units'] == null ? undefined : json['units'],\n        'facet': json['facet'] == null ? undefined : json['facet'],\n        'unit_reference': json['unit_reference'] == null ? undefined : json['unit_reference'],\n    };\n}\n\nexport function BaseMetricsToJSON(json: any): BaseMetrics {\n    return BaseMetricsToJSONTyped(json, false);\n}\n\nexport function BaseMetricsToJSONTyped(value?: BaseMetrics | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'unit': value['unit'],\n        'units': value['units'],\n        'facet': value['facet'],\n        'unit_reference': value['unit_reference'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 BaseScanMetrics\n */\nexport interface BaseScanMetrics {\n    /**\n     * \n     * @type {string}\n     * @memberof BaseScanMetrics\n     */\n    unit?: string;\n    /**\n     * \n     * @type {number}\n     * @memberof BaseScanMetrics\n     */\n    units?: number;\n    /**\n     * \n     * @type {BaseScanMetricsFacetEnum}\n     * @memberof BaseScanMetrics\n     */\n    facet?: BaseScanMetricsFacetEnum;\n    /**\n     * \n     * @type {string}\n     * @memberof BaseScanMetrics\n     */\n    unit_reference?: string;\n}\n\n/**\n* @export\n* @enum {string}\n*/\nexport enum BaseScanMetricsFacetEnum {\n    countries = 'countries',\n    cities = 'cities',\n    device_os = 'device_os',\n    browsers = 'browsers',\n    destinations = 'destinations'\n}\n\n\n/**\n * Check if a given object implements the BaseScanMetrics interface.\n */\nexport function instanceOfBaseScanMetrics(value: object): value is BaseScanMetrics {\n    return true;\n}\n\nexport function BaseScanMetricsFromJSON(json: any): BaseScanMetrics {\n    return BaseScanMetricsFromJSONTyped(json, false);\n}\n\nexport function BaseScanMetricsFromJSONTyped(json: any, ignoreDiscriminator: boolean): BaseScanMetrics {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'unit': json['unit'] == null ? undefined : json['unit'],\n        'units': json['units'] == null ? undefined : json['units'],\n        'facet': json['facet'] == null ? undefined : json['facet'],\n        'unit_reference': json['unit_reference'] == null ? undefined : json['unit_reference'],\n    };\n}\n\nexport function BaseScanMetricsToJSON(json: any): BaseScanMetrics {\n    return BaseScanMetricsToJSONTyped(json, false);\n}\n\nexport function BaseScanMetricsToJSONTyped(value?: BaseScanMetrics | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'unit': value['unit'],\n        'units': value['units'],\n        'facet': value['facet'],\n        'unit_reference': value['unit_reference'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 { DeeplinkRule } from './DeeplinkRule';\nimport {\n    DeeplinkRuleFromJSON,\n    DeeplinkRuleFromJSONTyped,\n    DeeplinkRuleToJSON,\n    DeeplinkRuleToJSONTyped,\n} from './DeeplinkRule';\n\n/**\n * \n * @export\n * @interface BitlinkUpdate\n */\nexport interface BitlinkUpdate {\n    /**\n     * \n     * @type {string}\n     * @memberof BitlinkUpdate\n     */\n    link?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof BitlinkUpdate\n     */\n    id?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof BitlinkUpdate\n     */\n    long_url?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof BitlinkUpdate\n     */\n    title?: string;\n    /**\n     * \n     * @type {boolean}\n     * @memberof BitlinkUpdate\n     */\n    archived?: boolean;\n    /**\n     * \n     * @type {string}\n     * @memberof BitlinkUpdate\n     */\n    created_at?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof BitlinkUpdate\n     */\n    created_by?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof BitlinkUpdate\n     */\n    client_id?: string;\n    /**\n     * list of previously edited backhalfs for the bitlink - these are in reverse chronological order, with the most recently edited backhalf first\n     * @type {Array<string>}\n     * @memberof BitlinkUpdate\n     */\n    custom_bitlinks?: Array<string>;\n    /**\n     * \n     * @type {Array<string>}\n     * @memberof BitlinkUpdate\n     */\n    tags?: Array<string>;\n    /**\n     * \n     * @type {Array<string>}\n     * @memberof BitlinkUpdate\n     */\n    launchpad_ids?: Array<string>;\n    /**\n     * a list of qr code ids that are associated with this bitlink\n     * @type {Array<string>}\n     * @memberof BitlinkUpdate\n     */\n    qr_code_ids?: Array<string>;\n    /**\n     * \n     * @type {Array<DeeplinkRule>}\n     * @memberof BitlinkUpdate\n     */\n    deeplinks?: Array<DeeplinkRule>;\n    /**\n     * \n     * @type {boolean}\n     * @memberof BitlinkUpdate\n     */\n    is_deleted?: boolean;\n    /**\n     * \n     * @type {Array<string>}\n     * @memberof BitlinkUpdate\n     */\n    campaign_ids?: Array<string>;\n    /**\n     * Optional expiration timestamp for the bitlink (e.g., 2025-01-28T14:30:00+0000)\n     * @type {string}\n     * @memberof BitlinkUpdate\n     */\n    expiration_at?: string;\n}\n\n/**\n * Check if a given object implements the BitlinkUpdate interface.\n */\nexport function instanceOfBitlinkUpdate(value: object): value is BitlinkUpdate {\n    return true;\n}\n\nexport function BitlinkUpdateFromJSON(json: any): BitlinkUpdate {\n    return BitlinkUpdateFromJSONTyped(json, false);\n}\n\nexport function BitlinkUpdateFromJSONTyped(json: any, ignoreDiscriminator: boolean): BitlinkUpdate {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'link': json['link'] == null ? undefined : json['link'],\n        'id': json['id'] == null ? undefined : json['id'],\n        'long_url': json['long_url'] == null ? undefined : json['long_url'],\n        'title': json['title'] == null ? undefined : json['title'],\n        'archived': json['archived'] == null ? undefined : json['archived'],\n        'created_at': json['created_at'] == null ? undefined : json['created_at'],\n        'created_by': json['created_by'] == null ? undefined : json['created_by'],\n        'client_id': json['client_id'] == null ? undefined : json['client_id'],\n        'custom_bitlinks': json['custom_bitlinks'] == null ? undefined : json['custom_bitlinks'],\n        'tags': json['tags'] == null ? undefined : json['tags'],\n        'launchpad_ids': json['launchpad_ids'] == null ? undefined : json['launchpad_ids'],\n        'qr_code_ids': json['qr_code_ids'] == null ? undefined : json['qr_code_ids'],\n        'deeplinks': json['deeplinks'] == null ? undefined : ((json['deeplinks'] as Array<any>).map(DeeplinkRuleFromJSON)),\n        'is_deleted': json['is_deleted'] == null ? undefined : json['is_deleted'],\n        'campaign_ids': json['campaign_ids'] == null ? undefined : json['campaign_ids'],\n        'expiration_at': json['expiration_at'] == null ? undefined : json['expiration_at'],\n    };\n}\n\nexport function BitlinkUpdateToJSON(json: any): BitlinkUpdate {\n    return BitlinkUpdateToJSONTyped(json, false);\n}\n\nexport function BitlinkUpdateToJSONTyped(value?: BitlinkUpdate | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'link': value['link'],\n        'id': value['id'],\n        'long_url': value['long_url'],\n        'title': value['title'],\n        'archived': value['archived'],\n        'created_at': value['created_at'],\n        'created_by': value['created_by'],\n        'client_id': value['client_id'],\n        'custom_bitlinks': value['custom_bitlinks'],\n        'tags': value['tags'],\n        'launchpad_ids': value['launchpad_ids'],\n        'qr_code_ids': value['qr_code_ids'],\n        'deeplinks': value['deeplinks'] == null ? undefined : ((value['deeplinks'] as Array<any>).map(DeeplinkRuleToJSON)),\n        'is_deleted': value['is_deleted'],\n        'campaign_ids': value['campaign_ids'],\n        'expiration_at': value['expiration_at'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 * CONFLICT\n * @export\n * @interface Conflict\n */\nexport interface Conflict {\n    /**\n     * \n     * @type {string}\n     * @memberof Conflict\n     */\n    message?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof Conflict\n     */\n    description?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof Conflict\n     */\n    resource?: string;\n    /**\n     * \n     * @type {Array<FieldError>}\n     * @memberof Conflict\n     */\n    errors?: Array<FieldError>;\n}\n\n/**\n * Check if a given object implements the Conflict interface.\n */\nexport function instanceOfConflict(value: object): value is Conflict {\n    return true;\n}\n\nexport function ConflictFromJSON(json: any): Conflict {\n    return ConflictFromJSONTyped(json, false);\n}\n\nexport function ConflictFromJSONTyped(json: any, ignoreDiscriminator: boolean): Conflict {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'message': json['message'] == null ? undefined : json['message'],\n        'description': json['description'] == null ? undefined : json['description'],\n        'resource': json['resource'] == null ? undefined : json['resource'],\n        'errors': json['errors'] == null ? undefined : ((json['errors'] as Array<any>).map(FieldErrorFromJSON)),\n    };\n}\n\nexport function ConflictToJSON(json: any): Conflict {\n    return ConflictToJSONTyped(json, false);\n}\n\nexport function ConflictToJSONTyped(value?: Conflict | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'message': value['message'],\n        'description': value['description'],\n        'resource': value['resource'],\n        'errors': value['errors'] == null ? undefined : ((value['errors'] as Array<any>).map(FieldErrorToJSON)),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 * EXPECTATION_FAILED\n * @export\n * @interface ExpectationFailed\n */\nexport interface ExpectationFailed {\n    /**\n     * \n     * @type {string}\n     * @memberof ExpectationFailed\n     */\n    message?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof ExpectationFailed\n     */\n    description?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof ExpectationFailed\n     */\n    resource?: string;\n    /**\n     * \n     * @type {Array<FieldError>}\n     * @memberof ExpectationFailed\n     */\n    errors?: Array<FieldError>;\n}\n\n/**\n * Check if a given object implements the ExpectationFailed interface.\n */\nexport function instanceOfExpectationFailed(value: object): value is ExpectationFailed {\n    return true;\n}\n\nexport function ExpectationFailedFromJSON(json: any): ExpectationFailed {\n    return ExpectationFailedFromJSONTyped(json, false);\n}\n\nexport function ExpectationFailedFromJSONTyped(json: any, ignoreDiscriminator: boolean): ExpectationFailed {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'message': json['message'] == null ? undefined : json['message'],\n        'description': json['description'] == null ? undefined : json['description'],\n        'resource': json['resource'] == null ? undefined : json['resource'],\n        'errors': json['errors'] == null ? undefined : ((json['errors'] as Array<any>).map(FieldErrorFromJSON)),\n    };\n}\n\nexport function ExpectationFailedToJSON(json: any): ExpectationFailed {\n    return ExpectationFailedToJSONTyped(json, false);\n}\n\nexport function ExpectationFailedToJSONTyped(value?: ExpectationFailed | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'message': value['message'],\n        'description': value['description'],\n        'resource': value['resource'],\n        'errors': value['errors'] == null ? undefined : ((value['errors'] as Array<any>).map(FieldErrorToJSON)),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 * FORBIDDEN\n * @export\n * @interface Forbidden\n */\nexport interface Forbidden {\n    /**\n     * \n     * @type {string}\n     * @memberof Forbidden\n     */\n    message?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof Forbidden\n     */\n    description?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof Forbidden\n     */\n    resource?: string;\n    /**\n     * \n     * @type {Array<FieldError>}\n     * @memberof Forbidden\n     */\n    errors?: Array<FieldError>;\n}\n\n/**\n * Check if a given object implements the Forbidden interface.\n */\nexport function instanceOfForbidden(value: object): value is Forbidden {\n    return true;\n}\n\nexport function ForbiddenFromJSON(json: any): Forbidden {\n    return ForbiddenFromJSONTyped(json, false);\n}\n\nexport function ForbiddenFromJSONTyped(json: any, ignoreDiscriminator: boolean): Forbidden {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'message': json['message'] == null ? undefined : json['message'],\n        'description': json['description'] == null ? undefined : json['description'],\n        'resource': json['resource'] == null ? undefined : json['resource'],\n        'errors': json['errors'] == null ? undefined : ((json['errors'] as Array<any>).map(FieldErrorFromJSON)),\n    };\n}\n\nexport function ForbiddenToJSON(json: any): Forbidden {\n    return ForbiddenToJSONTyped(json, false);\n}\n\nexport function ForbiddenToJSONTyped(value?: Forbidden | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'message': value['message'],\n        'description': value['description'],\n        'resource': value['resource'],\n        'errors': value['errors'] == null ? undefined : ((value['errors'] as Array<any>).map(FieldErrorToJSON)),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 * GONE\n * @export\n * @interface Gone\n */\nexport interface Gone {\n    /**\n     * \n     * @type {string}\n     * @memberof Gone\n     */\n    message?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof Gone\n     */\n    description?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof Gone\n     */\n    resource?: string;\n    /**\n     * \n     * @type {Array<FieldError>}\n     * @memberof Gone\n     */\n    errors?: Array<FieldError>;\n}\n\n/**\n * Check if a given object implements the Gone interface.\n */\nexport function instanceOfGone(value: object): value is Gone {\n    return true;\n}\n\nexport function GoneFromJSON(json: any): Gone {\n    return GoneFromJSONTyped(json, false);\n}\n\nexport function GoneFromJSONTyped(json: any, ignoreDiscriminator: boolean): Gone {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'message': json['message'] == null ? undefined : json['message'],\n        'description': json['description'] == null ? undefined : json['description'],\n        'resource': json['resource'] == null ? undefined : json['resource'],\n        'errors': json['errors'] == null ? undefined : ((json['errors'] as Array<any>).map(FieldErrorFromJSON)),\n    };\n}\n\nexport function GoneToJSON(json: any): Gone {\n    return GoneToJSONTyped(json, false);\n}\n\nexport function GoneToJSONTyped(value?: Gone | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'message': value['message'],\n        'description': value['description'],\n        'resource': value['resource'],\n        'errors': value['errors'] == null ? undefined : ((value['errors'] as Array<any>).map(FieldErrorToJSON)),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 HasReferences\n */\nexport interface HasReferences {\n    /**\n     * \n     * @type {{ [key: string]: string; }}\n     * @memberof HasReferences\n     */\n    references?: { [key: string]: string; };\n}\n\n/**\n * Check if a given object implements the HasReferences interface.\n */\nexport function instanceOfHasReferences(value: object): value is HasReferences {\n    return true;\n}\n\nexport function HasReferencesFromJSON(json: any): HasReferences {\n    return HasReferencesFromJSONTyped(json, false);\n}\n\nexport function HasReferencesFromJSONTyped(json: any, ignoreDiscriminator: boolean): HasReferences {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'references': json['references'] == null ? undefined : json['references'],\n    };\n}\n\nexport function HasReferencesToJSON(json: any): HasReferences {\n    return HasReferencesToJSONTyped(json, false);\n}\n\nexport function HasReferencesToJSONTyped(value?: HasReferences | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'references': value['references'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 * INTERNAL_ERROR\n * @export\n * @interface InternalError\n */\nexport interface InternalError {\n    /**\n     * \n     * @type {string}\n     * @memberof InternalError\n     */\n    message?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof InternalError\n     */\n    description?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof InternalError\n     */\n    resource?: string;\n    /**\n     * \n     * @type {Array<FieldError>}\n     * @memberof InternalError\n     */\n    errors?: Array<FieldError>;\n}\n\n/**\n * Check if a given object implements the InternalError interface.\n */\nexport function instanceOfInternalError(value: object): value is InternalError {\n    return true;\n}\n\nexport function InternalErrorFromJSON(json: any): InternalError {\n    return InternalErrorFromJSONTyped(json, false);\n}\n\nexport function InternalErrorFromJSONTyped(json: any, ignoreDiscriminator: boolean): InternalError {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'message': json['message'] == null ? undefined : json['message'],\n        'description': json['description'] == null ? undefined : json['description'],\n        'resource': json['resource'] == null ? undefined : json['resource'],\n        'errors': json['errors'] == null ? undefined : ((json['errors'] as Array<any>).map(FieldErrorFromJSON)),\n    };\n}\n\nexport function InternalErrorToJSON(json: any): InternalError {\n    return InternalErrorToJSONTyped(json, false);\n}\n\nexport function InternalErrorToJSONTyped(value?: InternalError | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'message': value['message'],\n        'description': value['description'],\n        'resource': value['resource'],\n        'errors': value['errors'] == null ? undefined : ((value['errors'] as Array<any>).map(FieldErrorToJSON)),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 ModelError\n */\nexport interface ModelError {\n    /**\n     * \n     * @type {string}\n     * @memberof ModelError\n     */\n    message?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof ModelError\n     */\n    description?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof ModelError\n     */\n    resource?: string;\n    /**\n     * \n     * @type {Array<FieldError>}\n     * @memberof ModelError\n     */\n    errors?: Array<FieldError>;\n}\n\n/**\n * Check if a given object implements the ModelError interface.\n */\nexport function instanceOfModelError(value: object): value is ModelError {\n    return true;\n}\n\nexport function ModelErrorFromJSON(json: any): ModelError {\n    return ModelErrorFromJSONTyped(json, false);\n}\n\nexport function ModelErrorFromJSONTyped(json: any, ignoreDiscriminator: boolean): ModelError {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'message': json['message'] == null ? undefined : json['message'],\n        'description': json['description'] == null ? undefined : json['description'],\n        'resource': json['resource'] == null ? undefined : json['resource'],\n        'errors': json['errors'] == null ? undefined : ((json['errors'] as Array<any>).map(FieldErrorFromJSON)),\n    };\n}\n\nexport function ModelErrorToJSON(json: any): ModelError {\n    return ModelErrorToJSONTyped(json, false);\n}\n\nexport function ModelErrorToJSONTyped(value?: ModelError | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'message': value['message'],\n        'description': value['description'],\n        'resource': value['resource'],\n        'errors': value['errors'] == null ? undefined : ((value['errors'] as Array<any>).map(FieldErrorToJSON)),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 * MONTHLY_LIMIT_EXCEEDED\n * @export\n * @interface MonthlyLimitExceeded\n */\nexport interface MonthlyLimitExceeded {\n    /**\n     * \n     * @type {string}\n     * @memberof MonthlyLimitExceeded\n     */\n    message?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof MonthlyLimitExceeded\n     */\n    description?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof MonthlyLimitExceeded\n     */\n    resource?: string;\n}\n\n/**\n * Check if a given object implements the MonthlyLimitExceeded interface.\n */\nexport function instanceOfMonthlyLimitExceeded(value: object): value is MonthlyLimitExceeded {\n    return true;\n}\n\nexport function MonthlyLimitExceededFromJSON(json: any): MonthlyLimitExceeded {\n    return MonthlyLimitExceededFromJSONTyped(json, false);\n}\n\nexport function MonthlyLimitExceededFromJSONTyped(json: any, ignoreDiscriminator: boolean): MonthlyLimitExceeded {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'message': json['message'] == null ? undefined : json['message'],\n        'description': json['description'] == null ? undefined : json['description'],\n        'resource': json['resource'] == null ? undefined : json['resource'],\n    };\n}\n\nexport function MonthlyLimitExceededToJSON(json: any): MonthlyLimitExceeded {\n    return MonthlyLimitExceededToJSONTyped(json, false);\n}\n\nexport function MonthlyLimitExceededToJSONTyped(value?: MonthlyLimitExceeded | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'message': value['message'],\n        'description': value['description'],\n        'resource': value['resource'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 * NOT_FOUND\n * @export\n * @interface NotFound\n */\nexport interface NotFound {\n    /**\n     * \n     * @type {string}\n     * @memberof NotFound\n     */\n    message?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof NotFound\n     */\n    description?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof NotFound\n     */\n    resource?: string;\n    /**\n     * \n     * @type {Array<FieldError>}\n     * @memberof NotFound\n     */\n    errors?: Array<FieldError>;\n}\n\n/**\n * Check if a given object implements the NotFound interface.\n */\nexport function instanceOfNotFound(value: object): value is NotFound {\n    return true;\n}\n\nexport function NotFoundFromJSON(json: any): NotFound {\n    return NotFoundFromJSONTyped(json, false);\n}\n\nexport function NotFoundFromJSONTyped(json: any, ignoreDiscriminator: boolean): NotFound {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'message': json['message'] == null ? undefined : json['message'],\n        'description': json['description'] == null ? undefined : json['description'],\n        'resource': json['resource'] == null ? undefined : json['resource'],\n        'errors': json['errors'] == null ? undefined : ((json['errors'] as Array<any>).map(FieldErrorFromJSON)),\n    };\n}\n\nexport function NotFoundToJSON(json: any): NotFound {\n    return NotFoundToJSONTyped(json, false);\n}\n\nexport function NotFoundToJSONTyped(value?: NotFound | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'message': value['message'],\n        'description': value['description'],\n        'resource': value['resource'],\n        'errors': value['errors'] == null ? undefined : ((value['errors'] as Array<any>).map(FieldErrorToJSON)),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 SimplifiedError\n */\nexport interface SimplifiedError {\n    /**\n     * \n     * @type {string}\n     * @memberof SimplifiedError\n     */\n    message?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof SimplifiedError\n     */\n    description?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof SimplifiedError\n     */\n    resource?: string;\n}\n\n/**\n * Check if a given object implements the SimplifiedError interface.\n */\nexport function instanceOfSimplifiedError(value: object): value is SimplifiedError {\n    return true;\n}\n\nexport function SimplifiedErrorFromJSON(json: any): SimplifiedError {\n    return SimplifiedErrorFromJSONTyped(json, false);\n}\n\nexport function SimplifiedErrorFromJSONTyped(json: any, ignoreDiscriminator: boolean): SimplifiedError {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'message': json['message'] == null ? undefined : json['message'],\n        'description': json['description'] == null ? undefined : json['description'],\n        'resource': json['resource'] == null ? undefined : json['resource'],\n    };\n}\n\nexport function SimplifiedErrorToJSON(json: any): SimplifiedError {\n    return SimplifiedErrorToJSONTyped(json, false);\n}\n\nexport function SimplifiedErrorToJSONTyped(value?: SimplifiedError | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'message': value['message'],\n        'description': value['description'],\n        'resource': value['resource'],\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 * TEMPORARILY_UNAVAILABLE\n * @export\n * @interface TemporarilyUnavailable\n */\nexport interface TemporarilyUnavailable {\n    /**\n     * \n     * @type {string}\n     * @memberof TemporarilyUnavailable\n     */\n    message?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof TemporarilyUnavailable\n     */\n    description?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof TemporarilyUnavailable\n     */\n    resource?: string;\n    /**\n     * \n     * @type {Array<FieldError>}\n     * @memberof TemporarilyUnavailable\n     */\n    errors?: Array<FieldError>;\n}\n\n/**\n * Check if a given object implements the TemporarilyUnavailable interface.\n */\nexport function instanceOfTemporarilyUnavailable(value: object): value is TemporarilyUnavailable {\n    return true;\n}\n\nexport function TemporarilyUnavailableFromJSON(json: any): TemporarilyUnavailable {\n    return TemporarilyUnavailableFromJSONTyped(json, false);\n}\n\nexport function TemporarilyUnavailableFromJSONTyped(json: any, ignoreDiscriminator: boolean): TemporarilyUnavailable {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'message': json['message'] == null ? undefined : json['message'],\n        'description': json['description'] == null ? undefined : json['description'],\n        'resource': json['resource'] == null ? undefined : json['resource'],\n        'errors': json['errors'] == null ? undefined : ((json['errors'] as Array<any>).map(FieldErrorFromJSON)),\n    };\n}\n\nexport function TemporarilyUnavailableToJSON(json: any): TemporarilyUnavailable {\n    return TemporarilyUnavailableToJSONTyped(json, false);\n}\n\nexport function TemporarilyUnavailableToJSONTyped(value?: TemporarilyUnavailable | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'message': value['message'],\n        'description': value['description'],\n        'resource': value['resource'],\n        'errors': value['errors'] == null ? undefined : ((value['errors'] as Array<any>).map(FieldErrorToJSON)),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 * the unit of time queried for (minute, hour, day, week, month)\n * @export\n * @enum {string}\n */\nexport enum TimeUnit {\n    minute = 'minute',\n    hour = 'hour',\n    day = 'day',\n    week = 'week',\n    month = 'month'\n}\n\n\nexport function instanceOfTimeUnit(value: any): boolean {\n    for (const key in TimeUnit) {\n        if (Object.prototype.hasOwnProperty.call(TimeUnit, key)) {\n            if (TimeUnit[key as keyof typeof TimeUnit] === value) {\n                return true;\n            }\n        }\n    }\n    return false;\n}\n\nexport function TimeUnitFromJSON(json: any): TimeUnit {\n    return TimeUnitFromJSONTyped(json, false);\n}\n\nexport function TimeUnitFromJSONTyped(json: any, ignoreDiscriminator: boolean): TimeUnit {\n    return json as TimeUnit;\n}\n\nexport function TimeUnitToJSON(value?: TimeUnit | null): any {\n    return value as any;\n}\n\nexport function TimeUnitToJSONTyped(value: any, ignoreDiscriminator: boolean): TimeUnit {\n    return value as TimeUnit;\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 * the unit of time queried for (day, week, month)\n * @export\n * @enum {string}\n */\nexport enum TimeUnitDWM {\n    day = 'day',\n    week = 'week',\n    month = 'month'\n}\n\n\nexport function instanceOfTimeUnitDWM(value: any): boolean {\n    for (const key in TimeUnitDWM) {\n        if (Object.prototype.hasOwnProperty.call(TimeUnitDWM, key)) {\n            if (TimeUnitDWM[key as keyof typeof TimeUnitDWM] === value) {\n                return true;\n            }\n        }\n    }\n    return false;\n}\n\nexport function TimeUnitDWMFromJSON(json: any): TimeUnitDWM {\n    return TimeUnitDWMFromJSONTyped(json, false);\n}\n\nexport function TimeUnitDWMFromJSONTyped(json: any, ignoreDiscriminator: boolean): TimeUnitDWM {\n    return json as TimeUnitDWM;\n}\n\nexport function TimeUnitDWMToJSON(value?: TimeUnitDWM | null): any {\n    return value as any;\n}\n\nexport function TimeUnitDWMToJSONTyped(value: any, ignoreDiscriminator: boolean): TimeUnitDWM {\n    return value as TimeUnitDWM;\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 * UNPROCESSABLE_ENTITY\n * @export\n * @interface UnprocessableEntity\n */\nexport interface UnprocessableEntity {\n    /**\n     * \n     * @type {string}\n     * @memberof UnprocessableEntity\n     */\n    message?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof UnprocessableEntity\n     */\n    description?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof UnprocessableEntity\n     */\n    resource?: string;\n    /**\n     * \n     * @type {Array<FieldError>}\n     * @memberof UnprocessableEntity\n     */\n    errors?: Array<FieldError>;\n}\n\n/**\n * Check if a given object implements the UnprocessableEntity interface.\n */\nexport function instanceOfUnprocessableEntity(value: object): value is UnprocessableEntity {\n    return true;\n}\n\nexport function UnprocessableEntityFromJSON(json: any): UnprocessableEntity {\n    return UnprocessableEntityFromJSONTyped(json, false);\n}\n\nexport function UnprocessableEntityFromJSONTyped(json: any, ignoreDiscriminator: boolean): UnprocessableEntity {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'message': json['message'] == null ? undefined : json['message'],\n        'description': json['description'] == null ? undefined : json['description'],\n        'resource': json['resource'] == null ? undefined : json['resource'],\n        'errors': json['errors'] == null ? undefined : ((json['errors'] as Array<any>).map(FieldErrorFromJSON)),\n    };\n}\n\nexport function UnprocessableEntityToJSON(json: any): UnprocessableEntity {\n    return UnprocessableEntityToJSONTyped(json, false);\n}\n\nexport function UnprocessableEntityToJSONTyped(value?: UnprocessableEntity | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'message': value['message'],\n        'description': value['description'],\n        'resource': value['resource'],\n        'errors': value['errors'] == null ? undefined : ((value['errors'] as Array<any>).map(FieldErrorToJSON)),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Bitly API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 4.0.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 * UPGRADE_REQUIRED\n * @export\n * @interface UpgradeRequired\n */\nexport interface UpgradeRequired {\n    /**\n     * \n     * @type {string}\n     * @memberof UpgradeRequired\n     */\n    message?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof UpgradeRequired\n     */\n    description?: string;\n    /**\n     * \n     * @type {string}\n     * @memberof UpgradeRequired\n     */\n    resource?: string;\n    /**\n     * \n     * @type {Array<FieldError>}\n     * @memberof UpgradeRequired\n     */\n    errors?: Array<FieldError>;\n}\n\n/**\n * Check if a given object implements the UpgradeRequired interface.\n */\nexport function instanceOfUpgradeRequired(value: object): value is UpgradeRequired {\n    return true;\n}\n\nexport function UpgradeRequiredFromJSON(json: any): UpgradeRequired {\n    return UpgradeRequiredFromJSONTyped(json, false);\n}\n\nexport function UpgradeRequiredFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpgradeRequired {\n    if (json == null) {\n        return json;\n    }\n    return {\n        \n        'message': json['message'] == null ? undefined : json['message'],\n        'description': json['description'] == null ? undefined : json['description'],\n        'resource': json['resource'] == null ? undefined : json['resource'],\n        'errors': json['errors'] == null ? undefined : ((json['errors'] as Array<any>).map(FieldErrorFromJSON)),\n    };\n}\n\nexport function UpgradeRequiredToJSON(json: any): UpgradeRequired {\n    return UpgradeRequiredToJSONTyped(json, false);\n}\n\nexport function UpgradeRequiredToJSONTyped(value?: UpgradeRequired | null, ignoreDiscriminator: boolean = false): any {\n    if (value == null) {\n        return value;\n    }\n\n    return {\n        \n        'message': value['message'],\n        'description': value['description'],\n        'resource': value['resource'],\n        'errors': value['errors'] == null ? undefined : ((value['errors'] as Array<any>).map(FieldErrorToJSON)),\n    };\n}\n\n"],"mappings":"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"}