// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. import { APIResource } from '../../core/resource'; import * as ConfigAPI from './config'; import { BaseConfig, Config, ConfigGetParams, ConfigUpdateParams, Configuration } from './config'; import * as DefaultAPI from './default'; import { BaseDefault, Default, DefaultGetParams } from './default'; import * as ExportAPI from './export'; import { BaseExport, Export, ExportGetParams } from './export'; import * as PublishAPI from './publish'; import { BasePublish, Publish, PublishCreateParams, PublishCreateResponse } from './publish'; import * as WorkflowAPI from './workflow'; import { BaseWorkflowResource, Workflow, WorkflowGetParams, WorkflowResource } from './workflow'; import * as HistoryAPI from './history/history'; import { BaseHistory, History, HistoryListParams, HistoryListResponse, HistoryListResponsesSinglePage, HistoryUpdateParams, } from './history/history'; import { APIPromise } from '../../core/api-promise'; import { RequestOptions } from '../../internal/request-options'; import { path } from '../../internal/utils/path'; export class BaseZaraz extends APIResource { static override readonly _key: readonly ['zaraz'] = Object.freeze(['zaraz'] as const); /** * Updates Zaraz workflow for a zone. * * @example * ```ts * const workflow = await client.zaraz.update({ * zone_id: '023e105f4ecef8ad9ca31a8372d0c353', * workflow: 'realtime', * }); * ``` */ update(params: ZarazUpdateParams, options?: RequestOptions): APIPromise { const { zone_id, workflow } = params; return ( this._client.put(path`/zones/${zone_id}/settings/zaraz/workflow`, { body: workflow, ...options, }) as APIPromise<{ result: WorkflowAPI.Workflow }> )._thenUnwrap((obj) => obj.result); } } export class Zaraz extends BaseZaraz { config: ConfigAPI.Config = new ConfigAPI.Config(this._client); default: DefaultAPI.Default = new DefaultAPI.Default(this._client); export: ExportAPI.Export = new ExportAPI.Export(this._client); history: HistoryAPI.History = new HistoryAPI.History(this._client); publish: PublishAPI.Publish = new PublishAPI.Publish(this._client); workflow: WorkflowAPI.WorkflowResource = new WorkflowAPI.WorkflowResource(this._client); } export interface ButtonTextTranslation { /** * Object where keys are language codes. */ accept_all: { [key: string]: string }; /** * Object where keys are language codes. */ confirm_my_choices: { [key: string]: string }; /** * Object where keys are language codes. */ reject_all: { [key: string]: string }; } export interface ButtonTextTranslationParam { /** * Object where keys are language codes. */ accept_all: { [key: string]: string }; /** * Object where keys are language codes. */ confirm_my_choices: { [key: string]: string }; /** * Object where keys are language codes. */ reject_all: { [key: string]: string }; } export interface NeoEvent { /** * Tool event type. */ actionType: string; /** * List of blocking triggers IDs. */ blockingTriggers: Array; /** * Event payload. */ data: unknown; /** * List of firing triggers IDs. */ firingTriggers: Array; } export interface NeoEventParam { /** * Tool event type. */ actionType: string; /** * List of blocking triggers IDs. */ blockingTriggers: Array; /** * Event payload. */ data: unknown; /** * List of firing triggers IDs. */ firingTriggers: Array; } export interface ZarazUpdateParams { /** * Path param: Identifier. */ zone_id: string; /** * Body param: Zaraz workflow. */ workflow: WorkflowAPI.WorkflowParam; } Zaraz.Config = Config; Zaraz.BaseConfig = BaseConfig; Zaraz.Default = Default; Zaraz.BaseDefault = BaseDefault; Zaraz.Export = Export; Zaraz.BaseExport = BaseExport; Zaraz.History = History; Zaraz.BaseHistory = BaseHistory; Zaraz.Publish = Publish; Zaraz.BasePublish = BasePublish; Zaraz.WorkflowResource = WorkflowResource; Zaraz.BaseWorkflowResource = BaseWorkflowResource; export declare namespace Zaraz { export { type ButtonTextTranslation as ButtonTextTranslation, type NeoEvent as NeoEvent, type ZarazUpdateParams as ZarazUpdateParams, }; export { Config as Config, BaseConfig as BaseConfig, type Configuration as Configuration, type ConfigUpdateParams as ConfigUpdateParams, type ConfigGetParams as ConfigGetParams, }; export { Default as Default, BaseDefault as BaseDefault, type DefaultGetParams as DefaultGetParams }; export { Export as Export, BaseExport as BaseExport, type ExportGetParams as ExportGetParams }; export { History as History, BaseHistory as BaseHistory, type HistoryListResponse as HistoryListResponse, type HistoryListResponsesSinglePage as HistoryListResponsesSinglePage, type HistoryUpdateParams as HistoryUpdateParams, type HistoryListParams as HistoryListParams, }; export { Publish as Publish, BasePublish as BasePublish, type PublishCreateResponse as PublishCreateResponse, type PublishCreateParams as PublishCreateParams, }; export { WorkflowResource as WorkflowResource, BaseWorkflowResource as BaseWorkflowResource, type Workflow as Workflow, type WorkflowGetParams as WorkflowGetParams, }; }