// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. import { APIResource } from '../../../core/resource'; import { APIPromise } from '../../../core/api-promise'; import { buildHeaders } from '../../../internal/headers'; import { RequestOptions } from '../../../internal/request-options'; import { path } from '../../../internal/utils/path'; export class Component extends APIResource { /** * Get component data for embed * * @example * ```ts * await client.v1.embed.component.retrieve('componentId', { * token: 'token', * }); * ``` */ retrieve(componentID: string, query: ComponentRetrieveParams, options?: RequestOptions): APIPromise { return this._client.get(path`/api/v1/embed/component/${componentID}`, { query, ...options, headers: buildHeaders([{ Accept: '*/*' }, options?.headers]), }); } /** * Process embed interaction * * @example * ```ts * await client.v1.embed.component.interact('componentId', { * token: 'token', * body: 'body', * }); * ``` */ interact(componentID: string, params: ComponentInteractParams, options?: RequestOptions): APIPromise { const { token, body } = params; return this._client.post(path`/api/v1/embed/component/${componentID}/interact`, { query: { token }, body: body, ...options, headers: buildHeaders([{ Accept: '*/*' }, options?.headers]), }); } } export interface ComponentRetrieveParams { /** * Embed token */ token: string; } export interface ComponentInteractParams { /** * Query param: Embed token */ token: string; /** * Body param: */ body: string; } export declare namespace Component { export { type ComponentRetrieveParams as ComponentRetrieveParams, type ComponentInteractParams as ComponentInteractParams, }; }