import type { app_instance_AppConnectInput } from '../models/app_instance_AppConnectInput'; import type { app_instance_AppInstall } from '../models/app_instance_AppInstall'; import type { app_instance_InstallNotificationSettings } from '../models/app_instance_InstallNotificationSettings'; import type { app_instance_InstallNotificationSettingsCreateInput } from '../models/app_instance_InstallNotificationSettingsCreateInput'; import type { app_instance_InstallNotificationSettingsPatchInput } from '../models/app_instance_InstallNotificationSettingsPatchInput'; import type { appConnection_AppConnection } from '../models/appConnection_AppConnection'; import type { CancelablePromise } from '../core/CancelablePromise'; export declare class InstallsService { /** * List app installs * * Returns every app install visible to the caller in the workspace, * including core modules, marketplace apps, custom apps, embeds, and links. * The set is scoped by the caller's permissions: clients only receive * installs whose visibility rules include them. * * @param previewAsClient When true, an internal caller previews the install list as a client would see it. * * @example * await assembly.listAppInstalls(); */ static listAppInstalls({ previewAsClient, }: { /** * When true, an internal caller previews the install list as a client would see it. */ previewAsClient?: boolean; }): CancelablePromise>; /** * Get an app install * * Returns a single app install by its ID. Core modules may be addressed by * their deterministic UUID; marketplace, custom, embed, and link installs * are addressed by their install ID. * * @param installId Unique identifier of the app install * * @example * await assembly.retrieveAppInstall({ installId: ... }); */ static retrieveAppInstall({ installId, }: { /** * Unique identifier of the app install */ installId: string; }): CancelablePromise; /** * List app install connections * * Returns the app connections (per-client, per-group, or per-company embeds * and links) attached to a manual app install. Optionally filter the result * by company or client. The install must be a manual-type app; core and * marketplace installs do not support connections. * * @param installId Unique identifier of the manual app install * @param companyId Filter connections to a single company * @param clientId Filter connections to a single client * * @example * await assembly.listAppConnections({ installId: ... }); */ static listAppConnections({ installId, companyId, clientId, }: { /** * Unique identifier of the manual app install */ installId: string; /** * Filter connections to a single company */ companyId?: string; /** * Filter connections to a single client */ clientId?: string; }): CancelablePromise>; /** * Create an app install connection * * Creates an embed or link connection on a manual app install, scoped to a * set of clients or a company. All targeted clients must belong to the same * company. Requires internal-user privileges. * * @param installId Unique identifier of the manual app install * * @example * await assembly.createAppConnection({ installId: ..., requestBody: ... }); */ static createAppConnection({ installId, requestBody, }: { /** * Unique identifier of the manual app install */ installId: string; /** * Connection to create */ requestBody: app_instance_AppConnectInput; }): CancelablePromise; /** * Get an app install's notification settings * * Returns the notification settings an app declares for the given install. * Each setting's `id` is the value to pass as `notificationSettingId` when * creating a notification via POST /v1/notifications. Installs whose * backing app declares no notification settings return an empty * `notifications` array. * * @param installId Unique identifier of the app install * * @example * await assembly.retrieveInstallNotificationSettings({ installId: ... }); */ static retrieveInstallNotificationSettings({ installId, }: { /** * Unique identifier of the app install */ installId: string; }): CancelablePromise; /** * Update an app install's notification settings * * Applies partial changes to the notification settings of the install's * backing app. Entries in `notifications` are per-setting deltas: an entry * without an `id` adds a new setting (label and surfaces required; the id * is generated), an entry with only an `id` deletes that setting, and an * entry with an `id` plus fields updates the provided fields of that * setting. Settings not referenced are left unchanged; an id that matches * no setting fails with 400. `actionLabel`, when present, replaces the * app's action label — send an empty object to clear it. Fails with 404 * until the app's settings are created via POST or the App Setup page. * Requests authenticated with an app API key may only manage the calling * app's own installs — for a published marketplace app this changes the * app's settings in every workspace it is installed in. Requests * authenticated with a regular API key require workspace admin privileges. * * @param installId Unique identifier of the app install * * @example * await assembly.updateInstallNotificationSettings({ installId: ..., requestBody: ... }); */ static updateInstallNotificationSettings({ installId, requestBody, }: { /** * Unique identifier of the app install */ installId: string; /** * Notification setting deltas to apply */ requestBody: app_instance_InstallNotificationSettingsPatchInput; }): CancelablePromise; /** * Create an app install's notification settings * * Declares the initial notification settings of the install's backing app. * This endpoint is create-only: when the app already has notification * settings (created here or authored on the App Setup page) it fails with * 409 and the settings must be changed via PATCH. Setting ids are stable * identifiers referenced by `notificationSettingId` on POST * /v1/notifications and by internal users' saved preferences; omit a * setting's id to have one generated. Requests authenticated with an app * API key may only manage the calling app's own installs — for a published * marketplace app this changes the app's settings in every workspace it is * installed in. Requests authenticated with a regular API key require * workspace admin privileges. * * @param installId Unique identifier of the app install * * @example * await assembly.createInstallNotificationSettings({ installId: ..., requestBody: ... }); */ static createInstallNotificationSettings({ installId, requestBody, }: { /** * Unique identifier of the app install */ installId: string; /** * Notification settings to create */ requestBody: app_instance_InstallNotificationSettingsCreateInput; }): CancelablePromise; }