import { Mt as WidgetSourcePropertyField, Nt as WidgetSourcePropertySchema, a as PortalFunctionErrorCode, c as PortalFunctionJsonValue, i as PortalFunctionError, kt as JsonValue, l as definePortalFunction, n as PortalFunction, o as PortalFunctionHandler, r as PortalFunctionDefinition, s as PortalFunctionImplementation, t as AnyPortalFunction, u as implementPortalFunction } from "../portal-function-Bl-Hkn1b.mjs"; import { ComponentType, ReactElement } from "react"; import { RemoteDomUiComponentName, RemoteDomUiComponentProps, RemoteDomWidgetWorkerController, prepareRemoteDomWidgetWorker } from "@fluid-app/widget-runtime/worker"; //#region src/widgets/remote/worker/capability-use.d.ts declare const DECLARATIVE_CAPABILITY_USE: unique symbol; /** A capability declaration that does not expose individual Portal functions. */ interface DeclarativeCapabilityUse { /** Internal marker used to validate `uses` entries. */ readonly [DECLARATIVE_CAPABILITY_USE]: true; /** Stable capability name. */ readonly name: string; /** Required capability contract version. */ readonly version: string; } /** * Declares that a widget can make direct network requests. * Add this marker to the widget's `uses` list. The portal host can require user * consent before mounting a package that declares network access. This marker * does not bypass browser CORS, Content Security Policy, or host network policy. * * @example * ```ts * const widget = defineWidget({ * name: "remote-data", * component: RemoteData, * uses: [networkAccess], * }); * ``` */ declare const networkAccess: DeclarativeCapabilityUse; //#endregion //#region src/widgets/remote/worker/widget-package.d.ts declare const SOURCE_WIDGET_MARKER = "__fluidSourceWidget"; declare const SOURCE_WIDGET_PACKAGE_MARKER = "__fluidSourceWidgetPackage"; /** JSON-serializable default props accepted by a source widget. */ type WidgetSourceDefaultProps = Readonly>; /** Builder resize behavior declared by a source widget. */ type WidgetSourceResizable = boolean | "horizontal" | "vertical" | "both" | { /** Allow horizontal resizing. */readonly horizontal?: boolean; /** Allow vertical resizing. */ readonly vertical?: boolean; /** Minimum width in builder layout units. */ readonly minWidth?: number; /** Minimum height in builder layout units. */ readonly minHeight?: number; }; /** Versioned host capability required by a widget. */ interface WidgetSourceCapabilityDeclaration { /** Stable capability name enforced by the worker and host. */ readonly name: string; /** Capability contract version required by the widget. */ readonly version: string; } /** Authoring options accepted by {@link defineWidget}. */ interface DefineWidgetOptions { /** Stable URL-safe widget name used in the canonical widget type. */ readonly name: Name; /** React component rendered by the Remote DOM worker. */ readonly component: ComponentType; /** Human-readable builder palette name. */ readonly displayName?: string; /** Builder palette description of the widget's purpose. */ readonly description?: string; /** Icon identifier displayed in the builder palette. */ readonly icon?: string; /** Builder palette category. */ readonly category?: string; /** JSON-serializable property editor schema. */ readonly propertySchema?: WidgetSourcePropertySchema; /** JSON-serializable props assigned to new widget instances. */ readonly defaultProps?: Partial; /** Host layout treatment for the widget. */ readonly container?: "inline" | "block" | "card" | "fullscreen"; /** Oldest portal SDK version that can host the widget. */ readonly minSdkVersion?: string; /** Typed portal functions and declarative capabilities used by the widget. */ readonly uses?: readonly (AnyPortalFunction | DeclarativeCapabilityUse)[]; /** Builder resize behavior and optional minimum dimensions. */ readonly resizable?: WidgetSourceResizable; } /** Normalized source widget returned by {@link defineWidget}. */ interface SourceWidget extends DefineWidgetOptions { /** Internal marker that distinguishes normalized source widgets. */ readonly [SOURCE_WIDGET_MARKER]: true; /** Normalized defaults; an omitted author value becomes an empty object. */ readonly defaultProps: Partial; /** Normalized typed functions and declarative capability markers. */ readonly uses: readonly (AnyPortalFunction | DeclarativeCapabilityUse)[]; /** Capability declarations derived from {@link uses}. */ readonly capabilities: readonly WidgetSourceCapabilityDeclaration[]; } /** Heterogeneous source widget type used by package arrays. */ type AnySourceWidget = SourceWidget; interface DefineWidgetPackageBase { /** Namespace used as the first segment of the package id. */ readonly scope: Scope; /** SemVer package version without build metadata. @defaultValue `"0.0.0-dev"` */ readonly version?: string; /** Widgets published in this package. */ readonly widgets: readonly AnySourceWidget[]; /** Absolute runtime stylesheet URLs; build tooling normally injects these. */ readonly cssUrls?: readonly string[]; } /** Authoring options accepted by {@link defineWidgetPackage}. */ type DefineWidgetPackageOptions = DefineWidgetPackageBase & ({ /** Company-owned package. This is the default package type. */readonly packageType?: "company"; /** Stable company owner identifier. */ readonly packageStableId: StableId; } | { /** Standalone package owned by a Droplet. */readonly packageType: "droplet"; /** Stable Droplet identifier; the CLI can inject it during publication. */ readonly packageStableId?: StableId; }); /** Canonical source package returned by {@link defineWidgetPackage}. */ interface SourceWidgetPackage { /** Internal marker that distinguishes normalized source packages. */ readonly [SOURCE_WIDGET_PACKAGE_MARKER]: true; /** Widget package descriptor format version. */ readonly manifestVersion: 1; /** Namespace used as the first segment of the package id. */ readonly scope: Scope; /** Stable company or droplet owner identifier. */ readonly packageStableId: StableId; /** Canonical `${scope}.${packageStableId}` package id. */ readonly packageId: `${Scope}.${StableId}`; /** Ownership model used for validation, consent, and publication. */ readonly packageType: "company" | "droplet"; /** Normalized SemVer package version. */ readonly version: string; /** Widgets included in the package. */ readonly widgets: readonly AnySourceWidget[]; /** Runtime stylesheet URLs included in the published descriptor. */ readonly cssUrls: readonly string[]; } /** Generated runtime widget definition accepted by {@link startWidgetPackage}. */ interface RuntimeSourceWidget { /** Fully qualified widget type registered with the worker runtime. */ readonly type: string; /** Source name retained by generated company worker entries. */ readonly name?: string; /** React component rendered for this runtime widget type. */ readonly component: ComponentType>; /** Capability declarations enforced for generated runtime widgets. */ readonly capabilities?: readonly WidgetSourceCapabilityDeclaration[]; } /** Generated-worker options accepted by {@link startWidgetPackage}. */ interface StartWidgetPackageOptions { /** Generated runtime widgets to register when no source package is available. */ readonly widgets: readonly RuntimeSourceWidget[]; } /** * Defines one widget and derives its enforced capability declarations. * * @param options - Component, builder metadata, defaults, property schema, and typed capability uses. * @returns The normalized widget used by {@link defineWidgetPackage}. * @throws If `uses` contains an invalid entry or conflicting capability versions. * @remarks Call during worker module initialization. Default props and property values must cross the worker boundary as JSON values. Every Portal function the component calls must appear in `uses`. * * @example * ```tsx * const greeting = defineWidget({ * name: "greeting", * displayName: "Greeting", * component: Greeting, * defaultProps: { message: "Hello" }, * uses: [getUserAccount], * }); * ``` */ declare function defineWidget(options: DefineWidgetOptions): SourceWidget; /** * Defines a company- or droplet-owned widget package. * * @param options - Package identity, SemVer version, widgets, and optional runtime stylesheets. * @returns A canonical source package descriptor. Build and dev replace runtime artifact URLs. * @throws If a company package omits `packageStableId`. * @remarks Define one package during worker module initialization. Company packages require a stable company identifier; Droplet publication can inject its stable identifier through the CLI. * * @example * ```ts * const widgetPackage = defineWidgetPackage({ * scope: "acme", * packageStableId: "company-public-id", * version: "1.0.0", * widgets: [greeting], * }); * ``` */ declare function defineWidgetPackage(options: DefineWidgetPackageOptions): SourceWidgetPackage; /** * Starts one Remote DOM worker containing every widget in the source package. * * @param widgetPackage - A source package or generated runtime widget list. * @returns A controller that owns the worker connection and registered widget definitions. * @throws If generated widgets cannot be matched to an unambiguous source `uses` declaration. * @remarks Call once from the worker entry after all widgets and the package are defined. The returned controller owns the active Remote DOM connection. * * @example * ```ts * startWidgetPackage(widgetPackage); * ``` */ declare function startWidgetPackage(widgetPackage: SourceWidgetPackage | StartWidgetPackageOptions): RemoteDomWidgetWorkerController; //#endregion //#region src/widgets/remote/contract/capabilities/built-in.d.ts /** Identifier used by portal resources. IDs can be numeric or string-backed. */ type PortalEntityId = string | number; /** Signed-in portal account details available to a widget. */ type UserAccount = { /** Numeric account identifier. */readonly id: number; /** Public account identifier. */ readonly publicId: string; /** Customer or representative account role. */ readonly memberType: "customer" | "rep"; /** Given name. */ readonly firstName: string; /** Family name. */ readonly lastName: string; /** Name intended for display. */ readonly displayName: string; /** Account email address. */ readonly email: string; /** Profile biography, if set. */ readonly bio: string | null; /** Profile avatar URL, if set. */ readonly avatarUrl: string | null; /** Public account slug. */ readonly slug: string; /** Social network names mapped to profile URLs. */ readonly socialLinks: Readonly> | null; /** Default ISO country code, if set. */ readonly defaultCountryIso: string | null; /** Active market ISO country code, if set. */ readonly marketCountryIso: string | null; }; /** Store identity, branding, app links, and reward-point labels. */ type PortalStore = { /** Numeric store identifier. */readonly id: number; /** Store name. */ readonly name: string; /** Store subdomain. */ readonly subdomain: string; /** Store logo URL, if configured. */ readonly logoUrl: string | null; /** Store icon URL, if configured. */ readonly iconUrl: string | null; /** Apple App Store URL, if configured. */ readonly appStoreUrl: string | null; /** Google Play Store URL, if configured. */ readonly playStoreUrl: string | null; /** Whether bundle subscriptions are enabled. */ readonly bundleSubscriptionsEnabled: boolean; /** Singular reward-points label. */ readonly rewardPointsLabelSingular: string; /** Plural reward-points label. */ readonly rewardPointsLabelPlural: string; }; /** Common identity fields for resources in a portal definition summary. */ type PortalNamedEntitySummary = { /** Persisted entity identifier, if available. */readonly id: PortalEntityId | null; /** Definition resource identifier, if available. */ readonly definitionId: PortalEntityId | null; /** Entity name, if available. */ readonly name: string | null; /** Entity route slug, if available. */ readonly slug: string | null; }; /** Screen identity and component count returned with a portal summary. */ type PortalScreenSummary = PortalNamedEntitySummary & { /** Number of component nodes on the screen. */readonly componentCount: number; }; /** Navigation identity and aggregate counts returned with a portal summary. */ type PortalNavigationSummary = { /** Persisted navigation identifier, if available. */readonly id: PortalEntityId | null; /** Definition resource identifier, if available. */ readonly definitionId: PortalEntityId | null; /** Navigation name, if available. */ readonly name: string | null; /** Number of navigation items. */ readonly navigationItemCount: number; /** Number of linked screens. */ readonly screenCount: number; }; /** Counted, immutable collection used by portal summary responses. */ type PortalSummaryCollection = { /** Total item count. */readonly count: number; /** Summary items. */ readonly items: readonly Item[]; }; /** Active profile, theme, and navigation summary for the current portal. */ type PortalProfileSummary = { /** Profile name, if available. */readonly name: string | null; /** Definition resource identifier, if available. */ readonly definitionId: PortalEntityId | null; /** Active theme identifier, if available. */ readonly activeThemeId: string | null; /** Themes available to the profile. */ readonly themes: PortalSummaryCollection; /** Primary navigation summary, if configured. */ readonly navigation: PortalNavigationSummary | null; /** Mobile navigation summary, if configured. */ readonly mobileNavigation: PortalNavigationSummary | null; }; /** Published portal definition, profile, and screen summary. */ type PortalAppSummary = { /** Current definition identifier, if available. */readonly definitionId: PortalEntityId | null; /** Active immutable version number, if published. */ readonly publishedVersion: number | null; /** Active profile summary, if configured. */ readonly profile: PortalProfileSummary | null; /** Screen summaries. */ readonly screens: PortalSummaryCollection; }; /** One resolved navigation item, including its nested children. */ type PortalNavigationItem = { /** Persisted navigation-item identifier, if available. */readonly id: number | null; /** Destination slug, if the item targets a screen. */ readonly slug: string | null; /** Visible navigation label. */ readonly label: string; /** Icon identifier, if configured. */ readonly icon: string | null; /** Navigation section, if configured. */ readonly section: string | null; /** Target screen identifier, if configured. */ readonly screenId: number | null; /** Sort position, if available. */ readonly position: number | null; /** Parent item identifier, if nested. */ readonly parentId: number | null; /** Origin of the navigation item. */ readonly source: "user" | "system" | "code" | null; /** Nested child items. */ readonly children: readonly PortalNavigationItem[]; }; /** Current route and resolved navigation tree for the mounted portal. */ type PortalNavigationState = { /** Slug of the current route. */readonly currentSlug: string; /** Slug of the previous route, if known. */ readonly previousSlug: string | null; /** Portal base path used to build hrefs. */ readonly basePath: string; /** Resolved navigation tree. */ readonly navItems: readonly PortalNavigationItem[]; }; /** Route target accepted by {@link buildPortalHref} and {@link navigateTo}. */ type PortalNavigationTarget = string | { /** Portal screen slug. */readonly slug: string; } | { /** Portal-relative or allowed absolute href. */readonly href: string; }; /** Whether fullscreen is supported and active for the current widget mount. */ type FullscreenState = { /** Whether the widget is currently fullscreen. */readonly fullscreen: boolean; /** Whether the current host can enter fullscreen. */ readonly available: boolean; }; /** * Gets the signed-in account from the mounted Portal host. * * @returns The current {@link UserAccount}. * @throws {@link PortalFunctionError} when the function is undeclared, unavailable, or fails in the host. * @remarks Declare `getUserAccount` in the widget's `uses` list. Call it only after the widget mounts. * @example const account = await getUserAccount(); */ declare const getUserAccount: PortalFunction; /** * Gets the store that owns the mounted Portal. * @returns The current {@link PortalStore}. * @throws {@link PortalFunctionError} when undeclared, unavailable, or rejected by the host. * @remarks Declare `getStore` in `uses` and call it only after mount. * @example const store = await getStore(); */ declare const getStore: PortalFunction; /** * Gets the current Portal Definition summary. * @returns The current {@link PortalAppSummary}. * @throws {@link PortalFunctionError} when undeclared, unavailable, or rejected by the host. * @remarks Declare `getPortalApp` in `uses` and call it only after mount. * @example const app = await getPortalApp(); */ declare const getPortalApp: PortalFunction; /** * Gets the active Portal profile summary. * @returns The active {@link PortalProfileSummary}. * @throws {@link PortalFunctionError} when undeclared, unavailable, or rejected by the host. * @remarks Declare `getPortalProfile` in `uses` and call it only after mount. * @example const profile = await getPortalProfile(); */ declare const getPortalProfile: PortalFunction; /** * Gets the current route and resolved navigation tree. * @returns The current {@link PortalNavigationState}. * @throws {@link PortalFunctionError} when undeclared, unavailable, or rejected by the host. * @remarks Declare `getNavigationState` in `uses` and call it only after mount. * @example const navigation = await getNavigationState(); */ declare const getNavigationState: PortalFunction; /** * Converts a Portal navigation target to an href for the current mount. * @param target - Screen slug, href, or shorthand string target. * @returns A host-approved href. * @throws {@link PortalFunctionError} when undeclared, invalid, unavailable, or rejected by the host. * @remarks Declare `buildPortalHref` in `uses` and call it only after mount. * @example const href = await buildPortalHref({ slug: "shop" }); */ declare const buildPortalHref: PortalFunction; /** * Navigates the mounted Portal to a target. * @param target - Screen slug, href, or shorthand string target. * @returns A promise that resolves after the host accepts the navigation. * @throws {@link PortalFunctionError} when undeclared, invalid, unavailable, or rejected by the host. * @remarks Declare `navigateTo` in `uses`. It changes host navigation and requires a mounted widget. * @example await navigateTo({ slug: "shop" }); */ declare const navigateTo: PortalFunction; /** * Gets fullscreen availability and state for the current widget mount. * @returns The current {@link FullscreenState}. * @throws {@link PortalFunctionError} when undeclared, unavailable, or rejected by the host. * @remarks Declare `getFullscreenState` in `uses` and call it only after mount. * @example const state = await getFullscreenState(); */ declare const getFullscreenState: PortalFunction; /** * Requests fullscreen for the current widget mount. * @returns A promise that resolves when the host completes the request. * @throws {@link PortalFunctionError} when undeclared, unsupported, unavailable, or rejected by the host. * @remarks Declare `requestFullscreen` in `uses`. Browser policy can require a user gesture. * @example await requestFullscreen(); */ declare const requestFullscreen: PortalFunction; /** * Exits fullscreen for the current widget mount. * @returns A promise that resolves when the host completes the request. * @throws {@link PortalFunctionError} when undeclared, unsupported, unavailable, or rejected by the host. * @remarks Declare `exitFullscreen` in `uses` and call it only after mount. * @example await exitFullscreen(); */ declare const exitFullscreen: PortalFunction; /** * Allows one exact absolute HTTP(S) URL for an anchor in the current mount. * Declare this function in `uses` and call it before rendering or changing the link. * * @param url - Exact absolute URL to allow. * @returns The allowed URL for assignment to the anchor. * @throws {@link PortalFunctionError} for invalid or disallowed URLs and host failures. * @remarks Declare `allowAnchorUrl` in `uses`. Approval is scoped to the current mount and exact URL. * * @example * ```ts * const href = await allowAnchorUrl("https://example.com/help"); * ``` */ declare const allowAnchorUrl: PortalFunction; //#endregion //#region src/widgets/remote/contract/capabilities/read.d.ts /** Cursor pagination accepted by Portal list functions. */ type PortalPageInput = { /** Opaque cursor returned as {@link PortalPage.nextCursor} by the previous call. */readonly cursor?: string; /** Maximum number of items to request. The host can enforce a smaller limit. */ readonly limit?: number; }; /** One page of Portal resources. */ type PortalPage = { /** Resources in this page. */readonly items: readonly Item[]; /** Opaque cursor for the next page, or `null` when this is the last page. */ readonly nextCursor: string | null; }; /** Country and state data available in the current Portal. */ type PortalCountry = { /** ISO country code. */readonly code: string; /** Localized country name. */ readonly name: string; /** ISO currency code used by the country. */ readonly currencyCode: string; /** States or other first-level administrative areas in the country. */ readonly states: readonly { /** State or administrative-area code. */readonly code: string; /** Localized state or administrative-area name. */ readonly name: string; }[]; }; /** * Filters for {@link listCountries}. Cursor pagination fields remain accepted * for compatibility, but the Portal tenant endpoint returns the complete list. */ type ListCountriesInput = { /** @deprecated The Portal tenant endpoint returns every country and ignores this field. */readonly cursor?: string; /** @deprecated The Portal tenant endpoint returns every country and ignores this field. */ readonly limit?: number; /** ISO language code used to localize returned names. */ readonly languageIso?: string; }; /** Language available in the current Portal. */ type PortalLanguage = { /** ISO language code. */readonly code: string; /** Display name of the language. */ readonly name: string; }; /** Country and language used by {@link getAddressFields}. */ type GetAddressFieldsInput = { /** ISO code of the country whose address form is requested. */readonly countryCode: string; /** ISO language code used to localize field labels. */ readonly languageIso?: string; }; /** Localized address-field configuration for a country. */ type PortalAddressFields = { /** ISO code of the requested country. */readonly countryCode: string; /** Localized country name. */ readonly countryName: string; /** Address fields in display order. */ readonly fields: readonly { /** Stable address-field key. */readonly field: string; /** Localized label for the field. */ readonly label: string; /** Whether the address requires the field. */ readonly required: boolean; }[]; }; /** Image metadata returned with a product or enrollment pack. */ type PortalImage = { /** Absolute image URL, or `null` when no image URL is available. */readonly url: string | null; /** Alternative text, or `null` when none is available. */ readonly alt: string | null; }; /** Purchasable variant of a Portal product. */ type PortalProductVariant = { /** Variant identifier, or `null` when the source has no identifier. */readonly id: number | null; /** Whether the variant can currently be purchased. */ readonly available: boolean | null; /** ISO currency code for monetary fields. */ readonly currency: string | null; /** Variant images. */ readonly images: readonly PortalImage[]; /** Whether this is the product's master variant. */ readonly isMaster: boolean | null; /** Variant display position. */ readonly position: number | null; /** Retail price serialized as a decimal string. */ readonly price: string | null; /** Stock-keeping unit. */ readonly sku: string | null; /** Variant display title. */ readonly title: string | null; /** Wholesale price serialized as a decimal string. */ readonly wholesalePrice: string | null; /** * Commission volume serialized as a decimal string. * * `null` whenever the viewer may not see volume — either the merchant has * hidden CV/QV from customer-facing surfaces, or this viewer is not entitled * to it. Render conditionally: the field is always present, but its value can * legitimately be absent per company and per viewer. */ readonly cv: string | null; /** * Qualifying volume serialized as a decimal string. `null` under the same * conditions as {@link cv}. */ readonly qv: string | null; }; /** Product data available to a widget. */ type PortalProduct = { /** Product identifier, or `null` when the source has no identifier. */readonly id: number | null; /** Product display name. */ readonly name: string | null; /** URL-safe product slug. */ readonly slug: string | null; /** Product description. */ readonly description: string | null; /** Retail price serialized as a decimal string. */ readonly price: string | null; /** Wholesale price serialized as a decimal string. */ readonly wholesalePrice: string | null; /** ISO currency code for monetary fields. */ readonly currency: string | null; /** Product publication or availability status. */ readonly status: string | null; /** Product images. */ readonly images: readonly PortalImage[]; /** Purchasable product variants. */ readonly variants: readonly PortalProductVariant[]; /** Number of associated media items. */ readonly mediaCount: number | null; /** ISO 8601 creation timestamp. */ readonly createdAt: string | null; /** Whether the product represents a bundle. */ readonly isBundle: boolean; /** Minimum and maximum one-time prices as decimal strings. */ readonly priceRange: { /** Minimum one-time price. */readonly min: string; /** Maximum one-time price. */ readonly max: string; } | null; /** Minimum and maximum subscription prices as decimal strings. */ readonly subscriptionPriceRange: { /** Minimum subscription price. */readonly min: string; /** Maximum subscription price. */ readonly max: string; } | null; /** Absolute URL of the product in the shop. */ readonly shopLink: string | null; /** Whether purchasing the product requires customization choices. */ readonly hasCustomizations: boolean | null; /** * Commission volume serialized as a decimal string. * * `null` whenever the viewer may not see volume — either the merchant has * hidden CV/QV from customer-facing surfaces, or this viewer is not entitled * to it. Render conditionally: the field is always present, but its value can * legitimately be absent per company and per viewer. */ readonly cv: string | null; /** * Qualifying volume serialized as a decimal string. `null` under the same * conditions as {@link cv}. */ readonly qv: string | null; }; /** Pagination and ordering for {@link listProducts}. */ type ListProductsInput = PortalPageInput & { /** Product ordering. */readonly sort?: "title_asc" | "title_desc" | "price_asc" | "price_desc" | "created_at_asc" | "created_at_desc"; }; /** Product identifier accepted by {@link getProduct}. */ type GetProductInput = { /** Product identifier. */readonly id: string | number; }; /** Query and pagination for {@link searchProducts}. */ type SearchProductsInput = PortalPageInput & { /** Text to match against searchable product data. */readonly query: string; }; /** Media associated with a product. */ type PortalProductMedia = { /** Media identifier. */readonly id: number | null; /** Media display title. */ readonly title: string | null; /** Media format or type. */ readonly mediaType: string | null; /** Absolute media URL. */ readonly url: string | null; }; /** Product identifier accepted by {@link listProductMedia}. */ type ListProductMediaInput = { /** Product whose media is requested. */readonly productId: string | number; }; /** Supported aggregation windows for product and content metrics. */ type PortalMetricsPeriod = "7d" | "30d" | "90d" | "1y" | "all"; /** Metric selection for {@link listProductMetrics}. */ type ListProductMetricsInput = { /** Whether to return direct visits or visits attributed to shares. */readonly kind: "visits" | "shareVisits"; /** Aggregation window. */ readonly period?: PortalMetricsPeriod; /** Maximum number of metric rows to return. */ readonly limit?: number; }; /** Aggregated metric value for a Portal resource. */ type PortalMetric = { /** Resource identifier, or `null` for an aggregate without one resource. */readonly id: number | null; /** Metric total for the requested period. */ readonly total: number; }; /** Calendar event visible to the signed-in Portal user. */ type PortalCalendarEvent = { /** Event identifier. */readonly id: number; /** Event title. */ readonly title: string; /** Event description. */ readonly description: string | null; /** Event color value supplied by the host. */ readonly color: string | null; /** Absolute event URL. */ readonly url: string | null; /** ISO 8601 event start. */ readonly start: string; /** ISO 8601 event end. */ readonly end: string; /** IANA time-zone name. */ readonly timeZone: string | null; /** Event status. */ readonly status: string | null; /** Absolute event image URL. */ readonly imageUrl: string | null; /** Event venue. */ readonly venue: string | null; /** ISO country codes where the event is available. */ readonly countries: readonly string[]; /** Whether the event spans a whole day rather than explicit times. */ readonly isAllDay: boolean; }; /** Call-to-action configuration attached to content media. */ type PortalMediaCta = { /** Whether the call to action is enabled. */readonly enabled: boolean; /** Action behavior, or `null` when no behavior is configured. */ readonly type: "link" | "cart" | "email" | "phone" | null; /** Text shown on the action button. */ readonly buttonText: string | null; /** Button color value supplied by the host. */ readonly buttonColor: string | null; /** Accessible or supporting description of the action. */ readonly buttonDescription: string | null; /** URL or URI used by the action. */ readonly actionUrl: string | null; }; /** Content-library media item available to a widget. */ type PortalMedia = { /** Media identifier. */readonly id: number; /** Media title. */ readonly title: string; /** Media description. */ readonly description: string | null; /** Media format supplied by the content library. */ readonly contentFormat: string | null; /** Publication or processing status. */ readonly status: string | null; /** Absolute content URL. */ readonly url: string | null; /** Absolute thumbnail URL. */ readonly thumbnailUrl: string | null; /** Configured call to action. */ readonly cta: PortalMediaCta | null; /** Search-engine metadata for the media item. */ readonly seo: { /** Search result title. */readonly title: string | null; /** Search result description. */ readonly description: string | null; /** Absolute social or search preview image URL. */ readonly imageUrl: string | null; /** Whether crawlers should be asked not to index the item. */ readonly blockCrawler: boolean; } | null; /** ISO 8601 creation timestamp. */ readonly createdAt: string; /** ISO 8601 last-update timestamp. */ readonly updatedAt: string; }; /** Filters, localization, ordering, and pagination for {@link listContentMedia}. */ type ListContentMediaInput = PortalPageInput & { /** Text to match against media titles. */readonly title?: string; /** Ownership scope for the returned media. */ readonly ownership?: "all" | "mine" | "company"; /** Media format to return. */ readonly contentFormat?: "video" | "image" | "pdf" | "ppt"; /** Media ordering. */ readonly sort?: "title_asc" | "title_desc"; /** ISO language code for localized content. */ readonly languageIso?: string; }; /** Media identifier and localization for {@link getContentMedia}. */ type GetContentMediaInput = { /** Content-media identifier. */readonly id: number; /** ISO language code for localized content. */ readonly languageIso?: string; }; /** Content playlist available to a widget. */ type PortalPlaylist = { /** Playlist identifier. */readonly id: number; /** Playlist title. */ readonly title: string; /** Playlist description. */ readonly description: string | null; /** Number of items in the playlist. */ readonly itemsCount: number; /** Whether the signed-in user has favorited the playlist. */ readonly isFavorited: boolean; /** Absolute playlist image URL. */ readonly imageUrl: string | null; /** ISO 8601 creation timestamp. */ readonly createdAt: string; /** ISO 8601 last-update timestamp. */ readonly updatedAt: string; }; /** Filters, ordering, and pagination for {@link listPlaylists}. */ type ListPlaylistsInput = PortalPageInput & { /** Text to match against playlist titles. */readonly title?: string; /** Ownership scope for the returned playlists. */ readonly ownership?: "all" | "mine" | "company"; /** Playlist ordering. */ readonly sort?: "title_asc" | "title_desc" | "created_at_asc" | "created_at_desc"; }; /** Playlist identifier accepted by {@link getPlaylist}. */ type GetPlaylistInput = { /** Playlist identifier. */readonly id: number; }; /** Product summary embedded in a playlist item. */ type PortalPlaylistProduct = { /** Product identifier. */readonly id: number; /** Product display name. */ readonly name: string; /** URL-safe product slug. */ readonly slug: string | null; /** Product description. */ readonly description: string | null; /** Retail price serialized as a decimal string. */ readonly price: string | null; /** Wholesale price serialized as a decimal string. */ readonly wholesalePrice: string | null; /** ISO currency code for monetary fields. */ readonly currency: string | null; /** Product publication or availability status. */ readonly status: string | null; /** Product images. */ readonly images: readonly PortalImage[]; /** Number of associated media items. */ readonly mediaCount: number | null; /** ISO 8601 creation timestamp. */ readonly createdAt: string | null; }; /** * Content embedded in a playlist item. * * Narrow on `type` before accessing fields specific to media, pages, products, * or enrollment packs. */ type PortalPlaylistItemContent = { /** Identifies content-library media. */readonly type: "media"; /** Media identifier. */ readonly id: number; /** Media title. */ readonly title: string; /** Media description. */ readonly description: string | null; /** Absolute media URL. */ readonly url: string | null; /** Absolute thumbnail URL. */ readonly thumbnailUrl: string | null; } | { /** Identifies a content page. */readonly type: "page"; /** Page identifier. */ readonly id: number; /** Page title. */ readonly title: string | null; /** URL-safe page slug. */ readonly slug: string | null; /** Page publication status. */ readonly status: "published" | "unpublished"; /** Page description. */ readonly description: string | null; /** Absolute page image URL. */ readonly imageUrl: string | null; } | { /** Identifies a product. */readonly type: "product"; /** Embedded product summary. */ readonly product: PortalPlaylistProduct; } | { /** Identifies an enrollment pack. */readonly type: "enrollmentPack"; /** Enrollment-pack identifier. */ readonly id: number; /** Enrollment-pack title. */ readonly title: string; /** URL-safe enrollment-pack slug. */ readonly slug: string | null; /** Enrollment-pack description. */ readonly description: string | null; /** Absolute enrollment-pack URL. */ readonly url: string | null; /** Enrollment-pack images. */ readonly images: readonly PortalImage[]; }; /** One positioned resource in a content playlist. */ type PortalPlaylistItem = { /** Playlist-item identifier. */readonly id: number; /** Kind of resource referenced by the item. */ readonly contentType: "media" | "page" | "product" | "enrollmentPack"; /** Identifier of the referenced resource. */ readonly contentId: number; /** Display position within the playlist. */ readonly position: number | null; /** ISO 8601 creation timestamp. */ readonly createdAt: string; /** Embedded resource data. Narrow the {@link PortalPlaylistItemContent} value on its `type` field. */ readonly content: PortalPlaylistItemContent; }; /** Playlist, localization, and pagination for {@link listPlaylistItems}. */ type ListPlaylistItemsInput = PortalPageInput & { /** Playlist whose items are requested. */readonly playlistId: number; /** ISO language code for localized item content. */ readonly languageIso?: string; }; /** Content-page summary available to a widget. */ type PortalPageContent = { /** Page identifier. */readonly id: number; /** Page title. */ readonly title: string | null; /** URL-safe page slug. */ readonly slug: string | null; /** Whether code or the visual builder owns the page. */ readonly source: "code" | "builder" | null; /** Page publication status. */ readonly status: "published" | "unpublished"; /** Page description. */ readonly description: string | null; /** Absolute page image URL. */ readonly imageUrl: string | null; /** Countries where the page is available. */ readonly countries: readonly PortalCountry[]; }; /** Filters, localization, ordering, and pagination for {@link listPages}. */ type ListPagesInput = PortalPageInput & { /** Text to match against page titles. */readonly title?: string; /** Page ordering. */ readonly sort?: "title_asc" | "title_desc"; /** ISO language code for localized page content. */ readonly languageIso?: string; }; /** Page identifier and localization for {@link getPage}. */ type GetPageInput = { /** Page identifier. */readonly id: number; /** ISO language code for localized page content. */ readonly languageIso?: string; }; /** Content page together with its share URL. */ type PortalPageDetail = { /** Page data. */readonly page: PortalPageContent; /** Absolute URL for sharing the page. */ readonly shareLink: string | null; }; /** Enrollment pack available to a widget. */ type PortalEnrollmentPack = { /** Enrollment-pack identifier. */readonly id: number; /** Enrollment-pack title. */ readonly title: string; /** URL-safe enrollment-pack slug. */ readonly slug: string | null; /** Enrollment-pack description. */ readonly description: string | null; /** Absolute enrollment-pack URL. */ readonly url: string | null; /** Canonical absolute URL. */ readonly canonicalUrl: string | null; /** Enrollment-pack images. */ readonly images: readonly PortalImage[]; }; /** Enrollment-pack identifier accepted by {@link getEnrollmentPack}. */ type GetEnrollmentPackInput = { /** Enrollment-pack identifier. */readonly id: number; }; type ListContentMetricsBaseInput = { /** Whether to return direct visits or visits attributed to shares. */readonly kind: "visits" | "shareVisits"; /** Aggregation window. */ readonly period?: PortalMetricsPeriod; /** Maximum number of metric rows to return. */ readonly limit?: number; }; /** Resource and metric selection for {@link listContentMetrics}. */ type ListContentMetricsInput = (ListContentMetricsBaseInput & { /** Content resource to aggregate. */readonly resource: "media" | "pages"; /** ISO language code for localized media or pages. */ readonly languageIso?: string; }) | (ListContentMetricsBaseInput & { /** Aggregate playlist metrics. Playlists do not accept `languageIso`. */readonly resource: "playlists"; }); /** Share record created for a Portal resource. */ type PortalShare = { /** Share identifier. */readonly id: number; /** Absolute share URL. */ readonly url: string; /** Kind of shared resource. */ readonly shareableType: "media" | "product" | "library" | "page"; /** Identifier of the shared resource. */ readonly shareableId: number; /** ISO 8601 creation timestamp. */ readonly createdAt: string; }; /** Digital asset available from the Portal content library. */ type PortalDamAsset = { /** Asset identifier. */readonly id: number; /** Stable asset code used to query its paths. */ readonly code: string; /** Asset display name. */ readonly name: string; /** Asset description. */ readonly description: string | null; /** Asset category. */ readonly category: string | null; /** Absolute URL of the default asset variant. */ readonly defaultVariantUrl: string | null; /** Canonical path for the asset. */ readonly canonicalPath: string | null; /** ISO 8601 creation timestamp. */ readonly createdAt: string; /** ISO 8601 last-update timestamp. */ readonly updatedAt: string | null; }; /** Asset and pagination selection for {@link listDamAssetPaths}. */ type ListDamAssetPathsInput = PortalPageInput & { /** Stable asset code from {@link PortalDamAsset.code}. */readonly assetCode: string; }; /** One accessible path for a digital asset. */ type PortalDamAssetPath = { /** Asset-path identifier. */readonly id: number; /** Stable code of the parent asset. */ readonly assetCode: string; /** Asset path supplied by the content library. */ readonly path: string; /** ISO 8601 creation timestamp. */ readonly createdAt: string; }; /** JSON value stored in an order metafield. */ type PortalOrderJsonValue = PortalFunctionJsonValue; /** Metafield attached to an order. Returned only when explicitly requested. */ type PortalOrderMetafield = { /** Metafield namespace. */readonly namespace: string; /** Metafield key. */ readonly key: string; /** JSON-compatible metafield value. */ readonly value: PortalOrderJsonValue; /** Backend-defined metafield value type. */ readonly valueType: string; }; /** Order returned by {@link listOrders}. */ type PortalOrderSummary = { /** Numeric order identifier. */readonly id: number; /** Merchant-facing order number. */ readonly orderNumber: string; /** Customer email address, when available. */ readonly email: string | null; /** Customer first name, when available. */ readonly firstName: string | null; /** Customer last name, when available. */ readonly lastName: string | null; /** Order total as a decimal string. */ readonly amount: string; /** Order lifecycle status, for example `draft`, `completed`, or `archived`. */ readonly status: string; /** Backend-defined fulfillment status. */ readonly fulfillmentStatus: string; /** ISO 4217 currency code for monetary values. */ readonly currencyCode: string; /** URL-safe token accepted by {@link getOrder}. */ readonly token: string; /** ISO 8601 creation timestamp. */ readonly createdAt: string; /** ISO 8601 last-update timestamp. */ readonly updatedAt: string; /** Localized display value for the order total. */ readonly totalDisplayAmount: string; /** Number of distinct line items. */ readonly itemsCount: number; /** Total quantity across all line items. */ readonly quantityCount: number; /** ISO 8601 sale timestamp, when available. */ readonly saleDate: string | null; /** Preview data for the first line item, when available. */ readonly firstItem: { /** First line-item title. */readonly title: string; /** First line-item image URL. */ readonly imageUrl: string; } | null; /** Image URLs for order-item thumbnails. */ readonly thumbnailImageUrls?: readonly string[]; /** Order metafields, when explicitly requested. */ readonly metafields?: readonly PortalOrderMetafield[]; }; /** Order statuses accepted by the Portal tenant order-list endpoint. */ declare const PORTAL_ORDER_LIST_STATUSES: readonly ["draft", "pending", "pending_review", "processing", "completed", "cancelled", "archived"]; /** Order lifecycle status accepted by {@link listOrders}. */ type PortalOrderListStatus = (typeof PORTAL_ORDER_LIST_STATUSES)[number]; /** Filters and pagination for {@link listOrders}. */ type ListOrdersInput = PortalPageInput & { /** Search text matched by the Portal tenant order-list endpoint. */readonly search?: string; /** Order lifecycle filter accepted by the Portal tenant order-list endpoint. */ readonly status?: PortalOrderListStatus; /** Include order metafields. They are omitted by default. */ readonly includeMetafields?: boolean; }; /** Routing token and optional metafield selection for {@link getOrder}. */ type GetOrderInput = { /** URL-safe order token returned by {@link listOrders}. */readonly token: string; /** Include order metafields. They are omitted by default. */ readonly includeMetafields?: boolean; }; /** Address attached to an order. */ type PortalOrderAddress = { /** Address identifier. */readonly id: number; /** Recipient name. */ readonly name: string | null; /** Primary street-address line. */ readonly address1: string | null; /** Secondary street-address line. */ readonly address2: string | null; /** City or locality. */ readonly city: string | null; /** State, province, or region. */ readonly state: string | null; /** Postal or ZIP code. */ readonly postalCode: string | null; /** ISO 3166-1 alpha-2 country code. */ readonly countryCode: string | null; /** Recipient phone number. */ readonly phone: string | null; }; /** Line item attached to an order. */ type PortalOrderLineItem = { /** Line-item identifier. */readonly id: number; /** Product identifier. */ readonly productId: number; /** Product display name. */ readonly productName: string; /** Product-variant identifier, when applicable. */ readonly variantId: number | null; /** Product-variant display name, when applicable. */ readonly variantName: string | null; /** Stock-keeping unit, when available. */ readonly sku: string | null; /** Product image URL, when available. */ readonly imageUrl: string | null; /** Purchased quantity. */ readonly quantity: number; /** Unit price as a decimal string. */ readonly price: string; /** Localized unit-price display value. */ readonly priceInCurrency: string; /** Line total as a decimal string. */ readonly total: string; /** Localized line-total display value. */ readonly totalInCurrency: string; /** Source subscription, when the item originated from one. */ readonly sourceSubscription: { /** URL-safe source-subscription token. */readonly subscriptionToken: string; } | null; }; /** Payment summary attached to an order. */ type PortalOrderPaymentMethod = { /** Payment-method identifier. */readonly id: number; /** Payment provider or source. */ readonly source: string; /** Backend-defined payment type. */ readonly paymentType: string; /** Card network, when the payment used a card. */ readonly cardNetwork: string | null; /** Last four card digits, when available. */ readonly last4: string | null; /** Payment-method logo URL, when available. */ readonly logoUrl: string | null; }; /** Shipping method attached to an order. */ type PortalOrderShippingMethod = { /** Shipping-method identifier, when available. */readonly id: string | null; /** Shipping-method display title. */ readonly title: string; }; /** Shipment tracking record attached to an order. */ type PortalOrderTrackingInformation = { /** Tracking-record identifier. */readonly id: number; /** Carrier tracking number. */ readonly trackingNumber: string; /** Shipping carrier name, when available. */ readonly shippingCarrier: string | null; /** Carrier tracking URL, when available. */ readonly trackingUrl: string | null; }; /** Display-ready tax decomposition attached to an order. */ type PortalOrderTaxTotals = { /** Gross merchandise subtotal as a decimal string. */readonly grossSubtotal: string; /** Localized gross-subtotal display value. */ readonly grossSubtotalInCurrency: string; /** Net merchandise subtotal as a decimal string. */ readonly netSubtotal: string; /** Localized net-subtotal display value. */ readonly netSubtotalInCurrency: string; /** Tax charged on merchandise as a decimal string. */ readonly itemTax: string; /** Localized item-tax display value. */ readonly itemTaxInCurrency: string; /** Shipping amount before tax as a decimal string. */ readonly shippingNet: string; /** Localized net-shipping display value. */ readonly shippingNetInCurrency: string; /** Tax charged on shipping as a decimal string. */ readonly shippingTax: string; /** Localized shipping-tax display value. */ readonly shippingTaxInCurrency: string; /** Total tax as a decimal string. */ readonly totalTax: string; /** Localized total-tax display value. */ readonly totalTaxInCurrency: string; /** Whether displayed prices include tax. */ readonly priceInclusiveOfTax: boolean; /** Merchant-defined tax label, when available. */ readonly taxLabel: string | null; }; /** Complete order returned by {@link getOrder}. */ type PortalOrder = { /** Numeric order identifier. */readonly id: number; /** URL-safe order token accepted by {@link getOrder}. */ readonly token: string; /** Merchant-facing order number, when available. */ readonly orderNumber: string | null; /** Order lifecycle status, for example `draft`, `completed`, or `archived`. */ readonly status: string; /** Backend-defined fulfillment status. */ readonly fulfillmentStatus: string; /** Merchandise subtotal as a decimal string. */ readonly subtotal: string; /** Localized subtotal display value. */ readonly subtotalInCurrency: string | null; /** Detailed tax totals, when supplied by the tenant. */ readonly totals?: PortalOrderTaxTotals; /** Discount total as a decimal string. */ readonly discount: string; /** Localized discount display value. */ readonly discountInCurrency: string | null; /** Shipping total as a decimal string. */ readonly shipping: string; /** Localized shipping display value. */ readonly shippingInCurrency: string | null; /** Tax total as a decimal string. */ readonly tax: string; /** Localized tax display value. */ readonly taxInCurrency: string | null; /** Order total as a decimal string. */ readonly total: string; /** Localized order-total display value. */ readonly totalInCurrency: string | null; /** ISO 4217 currency code for monetary values. */ readonly currency: string; /** Purchased line items. */ readonly lineItems: readonly PortalOrderLineItem[]; /** Order metafields, when explicitly requested. */ readonly metafields?: readonly PortalOrderMetafield[]; /** Customer display name, when available. */ readonly customerName: string | null; /** Customer email address, when available. */ readonly customerEmail: string | null; /** Order shipping address, when available. */ readonly shippingAddress: PortalOrderAddress | null; /** Order billing address, when available. */ readonly billingAddress: PortalOrderAddress | null; /** Payment summary, when available. */ readonly paymentMethod: PortalOrderPaymentMethod | null; /** Selected shipping method, when available. */ readonly shippingMethod: PortalOrderShippingMethod | null; /** Whether the order originated from a subscription. */ readonly subscriptionOrder: boolean; /** Source subscription token, when available. */ readonly subscriptionToken: string | null; /** Shipment tracking records. */ readonly trackingInformations: readonly PortalOrderTrackingInformation[]; /** Loyalty points credited by this order. */ readonly totalPointsCredited?: number; /** Customer loyalty-points balance after the order. */ readonly customerPointsBalance?: number; /** Loyalty points redeemed on the order. */ readonly pointsApplied?: number; /** Redemption amount as a decimal number. */ readonly pointsAppliedAmount?: number; /** Localized redemption-amount display value. */ readonly pointsAppliedAmountInCurrency?: string | null; /** Order total after point redemption as a decimal number. */ readonly orderTotalAfterPointsRedemption?: number; /** Localized post-redemption order-total display value. */ readonly orderTotalAfterPointsRedemptionInCurrency?: string | null; /** ISO 8601 sale timestamp, when available. */ readonly saleDate?: string | null; /** ISO 8601 creation timestamp. */ readonly createdAt: string; /** ISO 8601 last-update timestamp. */ readonly updatedAt: string; }; /** * Lists countries and their states in the requested language. * * Declare `listCountries` in the widget's `uses` list before calling it. * * `cursor` and `limit` remain accepted for compatibility but are ignored by the * Portal tenant adapter. * * @param input - Optional localization and legacy cursor pagination. * @returns All countries with a `null` next cursor. * @throws {@link PortalFunctionError} when `listCountries` is not declared, the input is invalid, the localization capability is unavailable, or the host call or response fails. * * @example * ```ts * const page = await listCountries({ languageIso: "en" }); * ``` */ declare const listCountries: PortalFunction, ListCountriesInput>; /** * Lists languages available in the current Portal. * * Declare `listLanguages` in the widget's `uses` list before calling it. * * @param input - Optional cursor pagination. * @returns A page of available languages and a cursor for the next page. * @throws {@link PortalFunctionError} when `listLanguages` is not declared, the input is invalid, the localization capability is unavailable, or the host call or response fails. * * @example * ```ts * const languages = await listLanguages({ limit: 20 }); * ``` */ declare const listLanguages: PortalFunction, PortalPageInput>; /** * Gets the localized address-field configuration for a country. * * Declare `getAddressFields` in the widget's `uses` list before calling it. * * @param input - Country code and optional label language. * @returns The country and its ordered address fields. * @throws {@link PortalFunctionError} when `getAddressFields` is not declared, the input is invalid, the localization capability is unavailable, or the host call or response fails. * * @example * ```ts * const address = await getAddressFields({ countryCode: "US", languageIso: "en" }); * ``` */ declare const getAddressFields: PortalFunction; /** * Lists products available in the current Portal. * * Declare `listProducts` in the widget's `uses` list before calling it. * * @param input - Optional ordering and cursor pagination. * @returns A page of products and a cursor for the next page. * @throws {@link PortalFunctionError} when `listProducts` is not declared, the input is invalid, the products capability is unavailable, or the host call or response fails. * * @example * ```ts * const products = await listProducts({ sort: "title_asc", limit: 20 }); * ``` */ declare const listProducts: PortalFunction, ListProductsInput>; /** * Gets one product by identifier. * * Declare `getProduct` in the widget's `uses` list before calling it. * * @param input - Product identifier. * @returns The requested product. * @throws {@link PortalFunctionError} when `getProduct` is not declared, the identifier is invalid or unavailable, the products capability is unavailable, or the host call or response fails. * * @example * ```ts * const product = await getProduct({ id: 42 }); * ``` */ declare const getProduct: PortalFunction; /** * Searches products using Portal product search. * * Declare `searchProducts` in the widget's `uses` list before calling it. * * @param input - Search text and optional cursor pagination. * @returns A page of matching products and a cursor for the next page. * @throws {@link PortalFunctionError} when `searchProducts` is not declared, the input is invalid, product search is unavailable, or the host call or response fails. * * @example * ```ts * const matches = await searchProducts({ query: "starter kit", limit: 10 }); * ``` */ declare const searchProducts: PortalFunction, SearchProductsInput>; /** * Lists media associated with a product. * * Declare `listProductMedia` in the widget's `uses` list before calling it. * * @param input - Product identifier. * @returns The product's media items. * @throws {@link PortalFunctionError} when `listProductMedia` is not declared, the product identifier is invalid or unavailable, the products capability is unavailable, or the host call or response fails. * * @example * ```ts * const media = await listProductMedia({ productId: 42 }); * ``` */ declare const listProductMedia: PortalFunction; /** * Lists visit metrics for products. * * Declare `listProductMetrics` in the widget's `uses` list before calling it. * * @param input - Metric kind, optional period, and optional result limit. * @returns Metric totals grouped by product. * @throws {@link PortalFunctionError} when `listProductMetrics` is not declared, the input is invalid, product metrics are unavailable, or the host call or response fails. * * @example * ```ts * const metrics = await listProductMetrics({ kind: "visits", period: "30d" }); * ``` */ declare const listProductMetrics: PortalFunction; /** * Lists calendar events visible to the signed-in Portal user. * * Declare `listCalendarEvents` in the widget's `uses` list before calling it. * * @returns All events supplied by the Portal calendar capability. * @throws {@link PortalFunctionError} when `listCalendarEvents` is not declared, the calendar capability is unavailable, or the host call or response fails. * * @example * ```ts * const events = await listCalendarEvents(); * ``` */ declare const listCalendarEvents: PortalFunction; /** * Lists media from the Portal content library. * * Declare `listContentMedia` in the widget's `uses` list before calling it. * * @param input - Optional filters, localization, ordering, and cursor pagination. * @returns A page of content media and a cursor for the next page. * @throws {@link PortalFunctionError} when `listContentMedia` is not declared, the input is invalid, content access is unavailable, or the host call or response fails. * * @example * ```ts * const media = await listContentMedia({ contentFormat: "video", limit: 20 }); * ``` */ declare const listContentMedia: PortalFunction, ListContentMediaInput>; /** * Gets one content-library media item by identifier. * * Declare `getContentMedia` in the widget's `uses` list before calling it. * * @param input - Media identifier and optional content language. * @returns The requested media item. * @throws {@link PortalFunctionError} when `getContentMedia` is not declared, the input is invalid or unavailable, content access is unavailable, or the host call or response fails. * * @example * ```ts * const media = await getContentMedia({ id: 42, languageIso: "en" }); * ``` */ declare const getContentMedia: PortalFunction; /** * Lists playlists from the Portal content library. * * Declare `listPlaylists` in the widget's `uses` list before calling it. * * @param input - Optional filters, ordering, and cursor pagination. * @returns A page of playlists and a cursor for the next page. * @throws {@link PortalFunctionError} when `listPlaylists` is not declared, the input is invalid, content access is unavailable, or the host call or response fails. * * @example * ```ts * const playlists = await listPlaylists({ ownership: "company", limit: 20 }); * ``` */ declare const listPlaylists: PortalFunction, ListPlaylistsInput>; /** * Gets one content playlist by identifier. * * Declare `getPlaylist` in the widget's `uses` list before calling it. * * @param input - Playlist identifier. * @returns The requested playlist. * @throws {@link PortalFunctionError} when `getPlaylist` is not declared, the identifier is invalid or unavailable, content access is unavailable, or the host call or response fails. * * @example * ```ts * const playlist = await getPlaylist({ id: 42 }); * ``` */ declare const getPlaylist: PortalFunction; /** * Lists the ordered items in a content playlist. * * Declare `listPlaylistItems` in the widget's `uses` list before calling it. * * @param input - Playlist identifier, optional language, and cursor pagination. * @returns A page of playlist items and a cursor for the next page. * @throws {@link PortalFunctionError} when `listPlaylistItems` is not declared, the input is invalid, the playlist is unavailable, content access is unavailable, or the host call or response fails. * * @example * ```ts * const items = await listPlaylistItems({ playlistId: 42, limit: 20 }); * ``` */ declare const listPlaylistItems: PortalFunction, ListPlaylistItemsInput>; /** * Lists content pages available to the signed-in Portal user. * * Declare `listPages` in the widget's `uses` list before calling it. * * @param input - Optional filters, localization, ordering, and cursor pagination. * @returns A page of content-page summaries and a cursor for the next page. * @throws {@link PortalFunctionError} when `listPages` is not declared, the input is invalid, content access is unavailable, or the host call or response fails. * * @example * ```ts * const pages = await listPages({ sort: "title_asc", limit: 20 }); * ``` */ declare const listPages: PortalFunction, ListPagesInput>; /** * Gets one content page and its share URL. * * Declare `getPage` in the widget's `uses` list before calling it. * * @param input - Page identifier and optional content language. * @returns The requested page and its share URL. * @throws {@link PortalFunctionError} when `getPage` is not declared, the input is invalid or unavailable, content access is unavailable, or the host call or response fails. * * @example * ```ts * const detail = await getPage({ id: 42, languageIso: "en" }); * ``` */ declare const getPage: PortalFunction; /** * Lists enrollment packs available in the Portal content library. * * Declare `listEnrollmentPacks` in the widget's `uses` list before calling it. * * @param input - Optional cursor pagination. * @returns A page of enrollment packs and a cursor for the next page. * @throws {@link PortalFunctionError} when `listEnrollmentPacks` is not declared, the input is invalid, content access is unavailable, or the host call or response fails. * * @example * ```ts * const packs = await listEnrollmentPacks({ limit: 20 }); * ``` */ declare const listEnrollmentPacks: PortalFunction, PortalPageInput>; /** * Gets one enrollment pack by identifier. * * Declare `getEnrollmentPack` in the widget's `uses` list before calling it. * * @param input - Enrollment-pack identifier. * @returns The requested enrollment pack. * @throws {@link PortalFunctionError} when `getEnrollmentPack` is not declared, the identifier is invalid or unavailable, content access is unavailable, or the host call or response fails. * * @example * ```ts * const pack = await getEnrollmentPack({ id: 42 }); * ``` */ declare const getEnrollmentPack: PortalFunction; /** * Lists visit metrics for Portal content resources. * * Declare `listContentMetrics` in the widget's `uses` list before calling it. * * @param input - Resource, metric kind, and optional aggregation settings. * @returns Metric totals grouped by content resource. * @throws {@link PortalFunctionError} when `listContentMetrics` is not declared, the input is invalid, content metrics are unavailable, or the host call or response fails. * * @example * ```ts * const metrics = await listContentMetrics({ * resource: "media", * kind: "shareVisits", * period: "30d", * }); * ``` */ declare const listContentMetrics: PortalFunction; /** * Lists share records created by the signed-in Portal user. * * Declare `listShares` in the widget's `uses` list before calling it. * * @param input - Optional cursor pagination. * @returns A page of share records and a cursor for the next page. * @throws {@link PortalFunctionError} when `listShares` is not declared, the input is invalid, content access is unavailable, or the host call or response fails. * * @example * ```ts * const shares = await listShares({ limit: 20 }); * ``` */ declare const listShares: PortalFunction, PortalPageInput>; /** * Lists digital assets available from the Portal content library. * * Declare `listDamAssets` in the widget's `uses` list before calling it. * * @param input - Optional cursor pagination. * @returns A page of digital assets and a cursor for the next page. * @throws {@link PortalFunctionError} when `listDamAssets` is not declared, the input is invalid, digital-asset access is unavailable, or the host call or response fails. * * @example * ```ts * const assets = await listDamAssets({ limit: 20 }); * ``` */ declare const listDamAssets: PortalFunction, PortalPageInput>; /** * Lists accessible paths for one digital asset. * * Declare `listDamAssetPaths` in the widget's `uses` list before calling it. * * @param input - Asset code and optional cursor pagination. * @returns A page of asset paths and a cursor for the next page. * @throws {@link PortalFunctionError} when `listDamAssetPaths` is not declared, the input or asset code is invalid, digital-asset access is unavailable, or the host call or response fails. * * @example * ```ts * const paths = await listDamAssetPaths({ assetCode: "hero-image", limit: 20 }); * ``` */ declare const listDamAssetPaths: PortalFunction, ListDamAssetPathsInput>; /** * Lists orders visible to the signed-in Portal user. * * This capability exposes customer contact details and order history. The host * requires an explicit per-widget grant before the call can run. Metafields are * omitted unless `includeMetafields` is `true`. * * @param input - Optional order filters, pagination, and metafield selection. * @returns A page of orders and a cursor for the next page. * @throws {@link PortalFunctionError} when the function is not declared or granted, the input is invalid, order access is unavailable, or the host call fails. * * @example * ```ts * const page = await listOrders({ status: "completed", limit: 20 }); * ``` */ declare const listOrders: PortalFunction, ListOrdersInput>; /** * Gets one order visible to the signed-in Portal user. * * This capability exposes customer contact details, addresses, payment * summary, fulfillment details, and line items. The host requires an explicit * per-widget grant. Metafields are omitted unless `includeMetafields` is `true`. * * @param input - Order routing token and optional metafield selection. * @returns The complete order. * @throws {@link PortalFunctionError} when the function is not declared or granted, the input is invalid, order access is unavailable, or the host call fails. * * @example * ```ts * const order = await getOrder({ token: page.items[0].token }); * ``` */ declare const getOrder: PortalFunction; //#endregion //#region ../../shareables/core/src/favorites-api.d.ts /** * Port interface for toggling content favorites for the authenticated member. * * This is intentionally narrower than the generated API: callers cannot pass * arbitrary Rails model names through the port. */ declare const CONTENT_FAVORITE_TYPES: readonly ["Product", "Medium", "Promotion", "Page", "Playlist", "EnrollmentPack", "Category", "Collection", "Post"]; type ContentFavoriteType = (typeof CONTENT_FAVORITE_TYPES)[number]; //#endregion //#region src/widgets/remote/contract/capabilities/content-mutation.d.ts /** Fields used to create a content-media record. */ type CreateContentMediaInput = { /** Media title. */readonly title: string; /** Optional description. */ readonly description?: string | null; /** Host media category. */ readonly mediaType: string; /** Media URL, if already available. */ readonly url?: string | null; /** Content file format. */ readonly contentFormat?: "image" | "video" | "pdf" | "ppt"; }; /** Editable fields for a content-media record. */ type UpdateContentMediaInput = { /** Media identifier. */readonly id: number; /** Replacement title. */ readonly title?: string; /** Replacement description. */ readonly description?: string | null; /** Publication state. */ readonly status?: "active" | "draft"; /** Replacement media URL. */ readonly url?: string | null; /** Replacement file format. */ readonly contentFormat?: "image" | "video" | "pdf" | "ppt"; /** Replacement thumbnail URL. */ readonly thumbnailUrl?: string | null; /** ISO language code for localized content. */ readonly languageIso?: string; /** Call-to-action settings. */ readonly cta?: { /** Whether the call to action is enabled. */readonly enabled?: boolean; /** Link or cart action. */ readonly type?: "link" | "cart"; /** Button label. */ readonly buttonText?: string | null; /** Button color value. */ readonly buttonColor?: string | null; /** Accessible button description. */ readonly buttonDescription?: string | null; /** Action destination URL. */ readonly actionUrl?: string | null; }; /** Search-engine metadata. */ readonly seo?: { /** Search result title. */readonly title?: string | null; /** Search result description. */ readonly description?: string | null; /** Search result image URL. */ readonly imageUrl?: string | null; /** Whether crawlers should be blocked. */ readonly blockCrawler?: boolean; }; }; /** Identifies content media to delete. */ type DeleteContentMediaInput = { /** Media identifier. */readonly id: number; }; /** Product associated with a content-media record. */ type PortalMediaProduct = { /** Product identifier. */readonly id: number; /** Product name, if available. */ readonly name: string | null; /** Product slug, if available. */ readonly slug: string | null; /** Product image URL, if available. */ readonly imageUrl: string | null; /** Retail price, if available. */ readonly price: string | null; /** Currency code, if available. */ readonly currency: string | null; /** ISO association timestamp, if available. */ readonly addedAt: string | null; }; /** Pagination and localization for content-media products. */ type ListContentMediaProductsInput = PortalPageInput & { /** Media identifier. */readonly mediaId: number; /** ISO language code. */ readonly languageIso?: string; }; /** Identifies media and product records to associate. */ type AddContentMediaProductInput = { /** Media identifier. */readonly mediaId: number; /** Product identifier. */ readonly productId: number; }; /** Identifies a media-product association to remove. */ type RemoveContentMediaProductInput = AddContentMediaProductInput; /** Fields used to create a content playlist. */ type CreateContentPlaylistInput = { /** Playlist title. */readonly title: string; /** Optional playlist description. */ readonly description?: string | null; }; /** Editable fields for a content playlist. */ type UpdateContentPlaylistInput = { /** Playlist identifier. */readonly id: number; /** Replacement title. */ readonly title?: string; /** Replacement description. */ readonly description?: string | null; }; /** Identifies a content playlist to delete. */ type DeleteContentPlaylistInput = { /** Playlist identifier. */readonly id: number; }; /** Identifies content to insert into a playlist. */ type AddContentPlaylistItemInput = { /** Playlist identifier. */readonly playlistId: number; /** Kind of content to add. */ readonly contentType: "media" | "page" | "product" | "enrollmentPack"; /** Content resource identifier. */ readonly contentId: number; /** Requested insertion position. */ readonly position?: number | null; }; /** Identifies a playlist item to remove. */ type RemoveContentPlaylistItemInput = { /** Playlist identifier. */readonly playlistId: number; /** Playlist-item identifier. */ readonly itemId: number; }; /** Defines playlist-item positions. */ type ReorderContentPlaylistItemsInput = { /** Playlist identifier. */readonly playlistId: number; /** Item identifiers paired with their desired order. */ readonly items: readonly { /** Playlist-item identifier. */readonly id: number; /** Desired zero-based order. */ readonly order: number; }[]; }; /** Identifies content for which to create a share link. */ type CreateContentShareInput = { /** Kind of resource to share. */readonly shareableType: "media" | "product" | "library" | "page"; /** Shared resource identifier. */ readonly shareableId: number; }; /** Identifies content whose favorite state should be toggled. */ type ToggleContentFavoriteInput = { /** Favorite resource category. */readonly favoriteableType: ContentFavoriteType; /** Favorite resource identifier. */ readonly favoriteableId: number; }; /** Current favorite state returned after a toggle. */ type PortalContentFavoriteState = { /** Favorite resource category. */readonly favoriteableType: ContentFavoriteType; /** Favorite resource identifier. */ readonly favoriteableId: number; /** Resulting favorite state. */ readonly isFavorited: boolean; }; /** Fields used to create a digital-asset record. */ type CreateDamAssetInput = { /** Asset name. */readonly name: string; /** Optional asset description. */ readonly description?: string | null; }; /** Fields used to add a path to a digital asset. */ type CreateDamAssetPathInput = { /** Stable asset code. */readonly assetCode: string; /** New asset path. */ readonly path: string; }; /** Identifies a digital asset for mutation. */ type MutateDamAssetInput = { /** Stable asset code. */readonly assetCode: string; }; /** * Creates content media in the Portal host. * @param input - Media metadata and optional source URL. * @returns The created {@link PortalMedia}. * @throws {@link PortalFunctionError} when undeclared, invalid, unavailable, or rejected by the host. * @remarks Declare `createContentMedia` in `uses`. This mutates host content after mount. * @example const media = await createContentMedia({ title: "Guide", mediaType: "document" }); */ declare const createContentMedia: PortalFunction; /** * Updates an existing content-media record. * @param input - Media identifier and fields to replace. * @returns The updated {@link PortalMedia}. * @throws {@link PortalFunctionError} when undeclared, invalid, unavailable, or rejected by the host. * @remarks Declare `updateContentMedia` in `uses`. This mutates host content after mount. * @example const media = await updateContentMedia({ id: 12, title: "Updated guide" }); */ declare const updateContentMedia: PortalFunction; /** * Deletes a content-media record. * @param input - Media identifier to delete. * @returns `null` after deletion. * @throws {@link PortalFunctionError} when undeclared, invalid, unavailable, or rejected by the host. * @remarks Declare `deleteContentMedia` in `uses`. This permanently mutates host content after mount. * @example await deleteContentMedia({ id: 12 }); */ declare const deleteContentMedia: PortalFunction; /** * Lists products associated with one content-media record. * @param input - Media identifier, pagination, and optional locale. * @returns A page of associated products. * @throws {@link PortalFunctionError} when undeclared, invalid, unavailable, or rejected by the host. * @remarks Declare `listContentMediaProducts` in `uses` and call it only after mount. * @example const products = await listContentMediaProducts({ mediaId: 12, limit: 20 }); */ declare const listContentMediaProducts: PortalFunction, ListContentMediaProductsInput>; /** * Associates a product with content media. * @param input - Media and product identifiers. * @returns The created {@link PortalMediaProduct} association. * @throws {@link PortalFunctionError} when undeclared, invalid, unavailable, or rejected by the host. * @remarks Declare `addContentMediaProduct` in `uses`. This mutates host content after mount. * @example const product = await addContentMediaProduct({ mediaId: 12, productId: 42 }); */ declare const addContentMediaProduct: PortalFunction; /** * Removes a product association from content media. * @param input - Media and product identifiers. * @returns `null` after removal. * @throws {@link PortalFunctionError} when undeclared, invalid, unavailable, or rejected by the host. * @remarks Declare `removeContentMediaProduct` in `uses`. This mutates host content after mount. * @example await removeContentMediaProduct({ mediaId: 12, productId: 42 }); */ declare const removeContentMediaProduct: PortalFunction; /** * Creates a content playlist. * @param input - Playlist title and optional description. * @returns The created {@link PortalPlaylist}. * @throws {@link PortalFunctionError} when undeclared, invalid, unavailable, or rejected by the host. * @remarks Declare `createContentPlaylist` in `uses`. This mutates host content after mount. * @example const playlist = await createContentPlaylist({ title: "Launch" }); */ declare const createContentPlaylist: PortalFunction; /** * Updates a content playlist. * @param input - Playlist identifier and fields to replace. * @returns The updated {@link PortalPlaylist}. * @throws {@link PortalFunctionError} when undeclared, invalid, unavailable, or rejected by the host. * @remarks Declare `updateContentPlaylist` in `uses`. This mutates host content after mount. * @example const playlist = await updateContentPlaylist({ id: 5, title: "New launch" }); */ declare const updateContentPlaylist: PortalFunction; /** * Deletes a content playlist. * @param input - Playlist identifier to delete. * @returns `null` after deletion. * @throws {@link PortalFunctionError} when undeclared, invalid, unavailable, or rejected by the host. * @remarks Declare `deleteContentPlaylist` in `uses`. This permanently mutates host content after mount. * @example await deleteContentPlaylist({ id: 5 }); */ declare const deleteContentPlaylist: PortalFunction; /** * Adds a content resource to a playlist. * @param input - Playlist, resource kind, resource identifier, and optional position. * @returns The created {@link PortalPlaylistItem}. * @throws {@link PortalFunctionError} when undeclared, invalid, unavailable, or rejected by the host. * @remarks Declare `addContentPlaylistItem` in `uses`. This mutates host content after mount. * @example const item = await addContentPlaylistItem({ playlistId: 5, contentType: "media", contentId: 12 }); */ declare const addContentPlaylistItem: PortalFunction; /** * Removes an item from a content playlist. * @param input - Playlist and playlist-item identifiers. * @returns `null` after removal. * @throws {@link PortalFunctionError} when undeclared, invalid, unavailable, or rejected by the host. * @remarks Declare `removeContentPlaylistItem` in `uses`. This mutates host content after mount. * @example await removeContentPlaylistItem({ playlistId: 5, itemId: 8 }); */ declare const removeContentPlaylistItem: PortalFunction; /** * Replaces the item order of a content playlist. * @param input - Playlist identifier and item-order pairs. * @returns `null` after reordering. * @throws {@link PortalFunctionError} when undeclared, invalid, unavailable, or rejected by the host. * @remarks Declare `reorderContentPlaylistItems` in `uses`. Send the complete desired order after mount. * @example await reorderContentPlaylistItems({ playlistId: 5, items: [{ id: 8, order: 0 }] }); */ declare const reorderContentPlaylistItems: PortalFunction; /** * Creates a share link for a content resource. * @param input - Resource kind and identifier to share. * @returns The created {@link PortalShare}. * @throws {@link PortalFunctionError} when undeclared, invalid, unavailable, or rejected by the host. * @remarks Declare `createContentShare` in `uses`. This creates host data after mount. * @example const share = await createContentShare({ shareableType: "media", shareableId: 12 }); */ declare const createContentShare: PortalFunction; /** * Toggles the signed-in member's favorite state for content. * @param input - Favorite resource kind and identifier. * @returns The resulting {@link PortalContentFavoriteState}. * @throws {@link PortalFunctionError} when undeclared, invalid, unavailable, or rejected by the host. * @remarks Declare `toggleContentFavorite` in `uses`. This mutates host data after mount. * @example const state = await toggleContentFavorite({ favoriteableType: "Medium", favoriteableId: 12 }); */ declare const toggleContentFavorite: PortalFunction; /** * Creates a digital-asset record. * @param input - Asset name and optional description. * @returns The created {@link PortalDamAsset}. * @throws {@link PortalFunctionError} when undeclared, invalid, unavailable, or rejected by the host. * @remarks Declare `createDamAsset` in `uses`. This mutates host content after mount. * @example const asset = await createDamAsset({ name: "Hero image" }); */ declare const createDamAsset: PortalFunction; /** * Adds a path to a digital asset. * @param input - Stable asset code and path. * @returns The created {@link PortalDamAssetPath}. * @throws {@link PortalFunctionError} when undeclared, invalid, unavailable, or rejected by the host. * @remarks Declare `createDamAssetPath` in `uses`. This mutates host content after mount. * @example const path = await createDamAssetPath({ assetCode: "hero", path: "/images/hero.png" }); */ declare const createDamAssetPath: PortalFunction; /** * Marks a digital asset as discarded. * @param input - Stable asset code. * @returns The updated {@link PortalDamAsset}. * @throws {@link PortalFunctionError} when undeclared, invalid, unavailable, or rejected by the host. * @remarks Declare `discardDamAsset` in `uses`. This mutates host content after mount. * @example const asset = await discardDamAsset({ assetCode: "hero" }); */ declare const discardDamAsset: PortalFunction; /** * Permanently deletes a digital asset. * @param input - Stable asset code. * @returns `null` after deletion. * @throws {@link PortalFunctionError} when undeclared, invalid, unavailable, or rejected by the host. * @remarks Declare `deleteDamAsset` in `uses`. This permanently mutates host content after mount. * @example await deleteDamAsset({ assetCode: "hero" }); */ declare const deleteDamAsset: PortalFunction; //#endregion //#region src/widgets/remote/contract/capabilities/self.d.ts /** Membership identity, representative access, and granted permissions. */ type PortalMemberAccess = { /** Customer or representative role. */readonly memberType: "customer" | "rep"; /** Public member slug. */ readonly slug: string; /** Display name, if available. */ readonly name: string | null; /** Whether representative-only surfaces are available. */ readonly canAccessRepSurfaces: boolean; /** Permission names mapped to their granted state. */ readonly permissions: Readonly>; }; /** Editable fields for the signed-in account. */ type UpdateUserAccountInput = { /** New given name. */readonly firstName?: string; /** New family name. */ readonly lastName?: string; /** New biography. */ readonly bio?: string; /** New avatar URL. */ readonly avatarUrl?: string; /** Replacement social-link map. */ readonly socialLinks?: Readonly>; /** Preferred ISO language code. */ readonly languageIso?: string; }; /** Todo identity and lifecycle timestamps. */ type PortalTodoSummary = { /** Todo identifier. */readonly id: number; /** ISO due timestamp, if set. */ readonly dueAt: string | null; /** ISO completion timestamp, if complete. */ readonly completedAt: string | null; /** ISO creation timestamp. */ readonly createdAt: string; }; /** Full todo record. */ type PortalTodo = PortalTodoSummary & { /** Todo text. */readonly body: string; }; /** Filters accepted by {@link listTodos}. */ type ListTodosInput = { /** Completion state to include. */readonly state?: "incomplete" | "completed" | "all"; }; /** Fields used to create a todo. */ type CreateTodoInput = { /** Todo text. */readonly body: string; /** Optional ISO due timestamp; `null` clears the due date. */ readonly dueAt?: string | null; }; /** One reward-points ledger transaction. */ type PortalPointsLedgerEntry = { /** Ledger entry identifier. */readonly id: number; /** Signed point amount. */ readonly amount: number; /** ISO creation timestamp. */ readonly createdAt: string; /** Host-defined transaction category, if available. */ readonly transactionType: string | null; /** Whether the entry links to a source record. */ readonly hasSource: boolean; }; /** Current reward-points balance and ledger entries. */ type PortalPointsLedger = { /** Current points balance. */readonly balance: number; /** Ledger entries in host-defined order. */ readonly entries: readonly PortalPointsLedgerEntry[]; }; /** Public MySite profile and aggregate performance values. */ type PortalMySiteProfile = { /** MySite profile identifier. */readonly id: number; /** Public MySite URL, if published. */ readonly url: string | null; /** Recorded view count. */ readonly views: number; /** Recorded lead count. */ readonly leads: number; /** Active theme identifier, if set. */ readonly themeId: number | null; /** Profile biography, if set. */ readonly bio: string | null; /** Profile avatar URL, if set. */ readonly avatarUrl: string | null; /** Public display name, if set. */ readonly displayName: string | null; /** Public route slug, if set. */ readonly slug: string | null; }; /** Editable MySite profile fields. */ type UpdateMySiteProfileInput = { /** New biography. */readonly bio?: string; /** New avatar URL. */ readonly avatarUrl?: string; /** New display name. */ readonly displayName?: string; }; /** Editable MySite publication settings. */ type UpdateMySiteSettingsInput = { /** Theme identifier to activate. */readonly themeId?: number; /** Public route slug. */ readonly slug?: string; }; /** Link displayed on a MySite profile. */ type PortalMySiteLink = { /** Link identifier. */readonly id: number; /** Destination URL. */ readonly url: string; /** Visible link title. */ readonly title: string; /** Display position. */ readonly position: number; }; /** Fields used to create a MySite link. */ type CreateMySiteLinkInput = { /** Destination URL. */readonly url: string; /** Visible link title. */ readonly title: string; }; /** Fields used to update a MySite link. */ type UpdateMySiteLinkInput = { /** Link identifier. */readonly id: number; /** Replacement destination URL. */ readonly url?: string; /** Replacement title. */ readonly title?: string; }; /** Identifies a MySite link to delete. */ type DeleteMySiteLinkInput = { /** Link identifier. */readonly id: number; }; /** Defines the complete display order for MySite links. */ type ReorderMySiteLinksInput = { /** Link identifiers in desired display order. */readonly orderedIds: readonly number[]; }; /** Product favorite displayed on a MySite profile. */ type PortalMySiteFavorite = { /** Favorite record identifier. */readonly id: number; /** Favorited resource identifier. */ readonly favoriteableId: number; /** Host resource type. */ readonly favoriteableType: string; /** Resource name, if available. */ readonly name: string | null; /** Resource image URL, if available. */ readonly imageUrl: string | null; /** Display position. */ readonly position: number; /** ISO creation timestamp, if available. */ readonly createdAt: string | null; }; /** Identifies a product to add to MySite favorites. */ type AddMySiteFavoriteInput = { /** Product identifier. */readonly productId: number; }; /** Identifies a MySite favorite to delete. */ type DeleteMySiteFavoriteInput = { /** Favorite record identifier. */readonly id: number; }; /** Defines the complete display order for MySite favorites. */ type ReorderMySiteFavoritesInput = { /** Favorite identifiers in desired display order. */readonly orderedIds: readonly number[]; }; /** MySite theme available to the signed-in member. */ type PortalMySiteTheme = { /** Theme identifier. */readonly id: number; /** Theme name. */ readonly name: string; /** Theme preview URL, if available. */ readonly previewUrl: string | null; }; /** * Gets access and permissions for the signed-in member. * @returns The current {@link PortalMemberAccess}. * @throws {@link PortalFunctionError} when undeclared, unavailable, or rejected by the host. * @remarks Declare `getMemberAccess` in `uses` and call it only after mount. * @example const access = await getMemberAccess(); */ declare const getMemberAccess: PortalFunction; /** * Updates editable fields on the signed-in account. * @param input - Account fields to update. * @returns The updated {@link UserAccount}. * @throws {@link PortalFunctionError} when undeclared, invalid, unavailable, or rejected by the host. * @remarks Declare `updateUserAccount` in `uses`. This mutates host account data after mount. * @example const account = await updateUserAccount({ bio: "Hello" }); */ declare const updateUserAccount: PortalFunction; /** * Lists todos for the signed-in member. * @param input - Optional completion-state filter. * @returns Todo summaries matching the filter. * @throws {@link PortalFunctionError} when undeclared, invalid, unavailable, or rejected by the host. * @remarks Declare `listTodos` in `uses` and call it only after mount. * @example const todos = await listTodos({ state: "incomplete" }); */ declare const listTodos: PortalFunction; /** * Creates a todo for the signed-in member. * @param input - Todo text and optional due timestamp. * @returns The created {@link PortalTodo}. * @throws {@link PortalFunctionError} when undeclared, invalid, unavailable, or rejected by the host. * @remarks Declare `createTodo` in `uses`. This mutates host data after mount. * @example const todo = await createTodo({ body: "Follow up" }); */ declare const createTodo: PortalFunction; /** * Gets the reward-points ledger for the signed-in member. * @returns The current {@link PortalPointsLedger}. * @throws {@link PortalFunctionError} when undeclared, unavailable, or rejected by the host. * @remarks Declare `getPointsLedger` in `uses` and call it only after mount. * @example const ledger = await getPointsLedger(); */ declare const getPointsLedger: PortalFunction; /** * Gets the MySite profile for the signed-in member. * @returns The current {@link PortalMySiteProfile}. * @throws {@link PortalFunctionError} when undeclared, unavailable, or rejected by the host. * @remarks Declare `getMySiteProfile` in `uses` and call it only after mount. * @example const profile = await getMySiteProfile(); */ declare const getMySiteProfile: PortalFunction; /** * Updates editable MySite profile fields. * @param input - Profile fields to update. * @returns The updated {@link PortalMySiteProfile}. * @throws {@link PortalFunctionError} when undeclared, invalid, unavailable, or rejected by the host. * @remarks Declare `updateMySiteProfile` in `uses`. This mutates host data after mount. * @example const profile = await updateMySiteProfile({ displayName: "Ari" }); */ declare const updateMySiteProfile: PortalFunction; /** * Updates MySite publication settings. * @param input - Theme or public slug settings to update. * @returns `null` after the host applies the settings. * @throws {@link PortalFunctionError} when undeclared, invalid, unavailable, or rejected by the host. * @remarks Declare `updateMySiteSettings` in `uses`. This mutates host data after mount. * @example await updateMySiteSettings({ themeId: 42 }); */ declare const updateMySiteSettings: PortalFunction; /** * Lists links on the signed-in member's MySite. * @returns MySite links in display order. * @throws {@link PortalFunctionError} when undeclared, unavailable, or rejected by the host. * @remarks Declare `listMySiteLinks` in `uses` and call it only after mount. * @example const links = await listMySiteLinks(); */ declare const listMySiteLinks: PortalFunction; /** * Creates a link on the signed-in member's MySite. * @param input - Destination URL and visible title. * @returns The created {@link PortalMySiteLink}. * @throws {@link PortalFunctionError} when undeclared, invalid, unavailable, or rejected by the host. * @remarks Declare `createMySiteLink` in `uses`. This mutates host data after mount. * @example const link = await createMySiteLink({ title: "Shop", url: "https://example.com" }); */ declare const createMySiteLink: PortalFunction; /** * Updates a link on the signed-in member's MySite. * @param input - Link identifier and fields to replace. * @returns The updated {@link PortalMySiteLink}. * @throws {@link PortalFunctionError} when undeclared, invalid, unavailable, or rejected by the host. * @remarks Declare `updateMySiteLink` in `uses`. This mutates host data after mount. * @example const link = await updateMySiteLink({ id: 7, title: "New title" }); */ declare const updateMySiteLink: PortalFunction; /** * Deletes a link from the signed-in member's MySite. * @param input - Link identifier to delete. * @returns `null` after deletion. * @throws {@link PortalFunctionError} when undeclared, invalid, unavailable, or rejected by the host. * @remarks Declare `deleteMySiteLink` in `uses`. This permanently mutates host data after mount. * @example await deleteMySiteLink({ id: 7 }); */ declare const deleteMySiteLink: PortalFunction; /** * Replaces the display order of all MySite links. * @param input - Link identifiers in the desired order. * @returns Updated links in display order. * @throws {@link PortalFunctionError} when undeclared, invalid, unavailable, or rejected by the host. * @remarks Declare `reorderMySiteLinks` in `uses`. Supply the complete order after mount. * @example const links = await reorderMySiteLinks({ orderedIds: [7, 3] }); */ declare const reorderMySiteLinks: PortalFunction; /** * Lists product favorites on the signed-in member's MySite. * @returns Favorites in display order. * @throws {@link PortalFunctionError} when undeclared, unavailable, or rejected by the host. * @remarks Declare `listMySiteFavorites` in `uses` and call it only after mount. * @example const favorites = await listMySiteFavorites(); */ declare const listMySiteFavorites: PortalFunction; /** * Adds a product to MySite favorites. * @param input - Product identifier to add. * @returns The created {@link PortalMySiteFavorite}. * @throws {@link PortalFunctionError} when undeclared, invalid, unavailable, or rejected by the host. * @remarks Declare `addMySiteFavorite` in `uses`. This mutates host data after mount. * @example const favorite = await addMySiteFavorite({ productId: 42 }); */ declare const addMySiteFavorite: PortalFunction; /** * Deletes a MySite favorite. * @param input - Favorite record identifier to delete. * @returns `null` after deletion. * @throws {@link PortalFunctionError} when undeclared, invalid, unavailable, or rejected by the host. * @remarks Declare `deleteMySiteFavorite` in `uses`. This permanently mutates host data after mount. * @example await deleteMySiteFavorite({ id: 9 }); */ declare const deleteMySiteFavorite: PortalFunction; /** * Replaces the display order of all MySite favorites. * @param input - Favorite identifiers in the desired order. * @returns Updated favorites in display order. * @throws {@link PortalFunctionError} when undeclared, invalid, unavailable, or rejected by the host. * @remarks Declare `reorderMySiteFavorites` in `uses`. Supply the complete order after mount. * @example const favorites = await reorderMySiteFavorites({ orderedIds: [9, 4] }); */ declare const reorderMySiteFavorites: PortalFunction; /** * Lists themes available to the signed-in member's MySite. * @returns Available {@link PortalMySiteTheme} records. * @throws {@link PortalFunctionError} when undeclared, unavailable, or rejected by the host. * @remarks Declare `listMySiteThemes` in `uses` and call it only after mount. * @example const themes = await listMySiteThemes(); */ declare const listMySiteThemes: PortalFunction; //#endregion //#region src/widgets/remote/contract/elements/search-sort.d.ts interface FluidSearchSortOption { readonly label: string; readonly value: string; } interface FluidSearchSortElementProperties { /** Current search text displayed by the control. */ readonly searchValue: string; /** Search-input placeholder. */ readonly placeholder?: string; /** Accessible label for the button that clears the search input. */ readonly clearLabel?: string; /** Accessible label for the sort control. */ readonly sortLabel?: string; /** Sort choices displayed by the control. */ readonly sortOptions?: readonly FluidSearchSortOption[]; /** Value of the selected sort choice. */ readonly sortValue?: string; } //#endregion //#region src/widgets/remote/worker/elements/SearchSort.d.ts /** Props for the worker-safe Portal search and sort control. */ interface SearchSortProps extends FluidSearchSortElementProperties { /** Called when the search value changes. */ readonly onSearchChange: (value: string) => void; /** Called when the selected sort value changes. */ readonly onSortChange?: (value: string) => void; } /** * Renders the Portal-provided search and sort control in a Remote DOM widget. * * @param props - Search, sort, option, and change-handler configuration. * @returns A worker-safe React element backed by the Portal custom element. * @remarks Render this component only inside a started Remote DOM widget worker. The Portal host owns its visual implementation. * @example * ```tsx * * ``` */ declare function SearchSort({ onSearchChange, onSortChange, ...props }: SearchSortProps): ReactElement; //#endregion //#region src/widgets/remote/contract/elements/fluid-spacer-widget.d.ts interface FluidSpacerWidgetElementProperties { readonly customHeight?: string; readonly previewMode?: boolean; } //#endregion //#region src/widgets/remote/worker/elements/FluidSpacerWidget.d.ts /** Props for the worker-safe Portal spacer element. */ interface FluidSpacerWidgetProps { /** Explicit spacer height accepted by the Portal element. */ readonly customHeight?: FluidSpacerWidgetElementProperties["customHeight"]; /** Whether the spacer is rendered in builder preview mode. */ readonly previewMode?: FluidSpacerWidgetElementProperties["previewMode"]; } /** * Renders a Portal spacer inside a Remote DOM widget. * * @param props - Spacer height and preview state. * @returns A worker-safe React element backed by the Portal custom element. * @remarks Render this component only inside a started Remote DOM widget worker. The Portal host determines the final layout behavior. * @example * ```tsx * * ``` */ declare function FluidSpacerWidget(props: FluidSpacerWidgetProps): ReactElement; //#endregion //#region src/widgets/remote/worker/elements/FluidUi.d.ts /** A worker-safe Fluid UI component with its reviewed serializable props. */ type FluidUiComponent = ComponentType>; /** Worker-safe Fluid accordion root. */ declare const Accordion: FluidUiComponent<"Accordion">; /** Worker-safe Fluid accordion item. */ declare const AccordionItem: FluidUiComponent<"AccordionItem">; /** Worker-safe Fluid accordion trigger. */ declare const AccordionTrigger: FluidUiComponent<"AccordionTrigger">; /** Worker-safe Fluid accordion content. */ declare const AccordionContent: FluidUiComponent<"AccordionContent">; /** Worker-safe Fluid alert. */ declare const Alert: FluidUiComponent<"Alert">; /** Worker-safe Fluid alert title. */ declare const AlertTitle: FluidUiComponent<"AlertTitle">; /** Worker-safe Fluid alert description. */ declare const AlertDescription: FluidUiComponent<"AlertDescription">; /** Worker-safe Fluid alert dialog root. */ declare const AlertDialog: FluidUiComponent<"AlertDialog">; /** Worker-safe Fluid alert dialog trigger. */ declare const AlertDialogTrigger: FluidUiComponent<"AlertDialogTrigger">; /** Worker-safe Fluid alert dialog content. */ declare const AlertDialogContent: FluidUiComponent<"AlertDialogContent">; /** Worker-safe Fluid alert dialog header. */ declare const AlertDialogHeader: FluidUiComponent<"AlertDialogHeader">; /** Worker-safe Fluid alert dialog footer. */ declare const AlertDialogFooter: FluidUiComponent<"AlertDialogFooter">; /** Worker-safe Fluid alert dialog title. */ declare const AlertDialogTitle: FluidUiComponent<"AlertDialogTitle">; /** Worker-safe Fluid alert dialog description. */ declare const AlertDialogDescription: FluidUiComponent<"AlertDialogDescription">; /** Worker-safe Fluid alert dialog media region. */ declare const AlertDialogMedia: FluidUiComponent<"AlertDialogMedia">; /** Worker-safe Fluid alert dialog action. */ declare const AlertDialogAction: FluidUiComponent<"AlertDialogAction">; /** Worker-safe Fluid alert dialog cancel action. */ declare const AlertDialogCancel: FluidUiComponent<"AlertDialogCancel">; /** Worker-safe Fluid avatar root. */ declare const Avatar: FluidUiComponent<"Avatar">; /** Worker-safe Fluid avatar image. */ declare const AvatarImage: FluidUiComponent<"AvatarImage">; /** Worker-safe Fluid avatar fallback. */ declare const AvatarFallback: FluidUiComponent<"AvatarFallback">; /** Worker-safe Fluid avatar badge. */ declare const AvatarBadge: FluidUiComponent<"AvatarBadge">; /** Worker-safe Fluid avatar group. */ declare const AvatarGroup: FluidUiComponent<"AvatarGroup">; /** Worker-safe Fluid avatar group count. */ declare const AvatarGroupCount: FluidUiComponent<"AvatarGroupCount">; /** Worker-safe Fluid badge. */ declare const Badge: FluidUiComponent<"Badge">; /** Worker-safe Fluid breadcrumb root. */ declare const Breadcrumb: FluidUiComponent<"Breadcrumb">; /** Worker-safe Fluid breadcrumb list. */ declare const BreadcrumbList: FluidUiComponent<"BreadcrumbList">; /** Worker-safe Fluid breadcrumb item. */ declare const BreadcrumbItem: FluidUiComponent<"BreadcrumbItem">; /** Worker-safe Fluid breadcrumb link. */ declare const BreadcrumbLink: FluidUiComponent<"BreadcrumbLink">; /** Worker-safe Fluid breadcrumb page. */ declare const BreadcrumbPage: FluidUiComponent<"BreadcrumbPage">; /** Worker-safe Fluid breadcrumb separator. */ declare const BreadcrumbSeparator: FluidUiComponent<"BreadcrumbSeparator">; /** Worker-safe Fluid breadcrumb overflow marker. */ declare const BreadcrumbEllipsis: FluidUiComponent<"BreadcrumbEllipsis">; /** Worker-safe Fluid button. */ declare const Button: FluidUiComponent<"Button">; /** Worker-safe Fluid single-date calendar with ISO date props. */ declare const Calendar: FluidUiComponent<"Calendar">; /** Worker-safe Fluid checkbox. */ declare const Checkbox: FluidUiComponent<"Checkbox">; /** Worker-safe Fluid card root. */ declare const Card: FluidUiComponent<"Card">; /** Worker-safe Fluid card header. */ declare const CardHeader: FluidUiComponent<"CardHeader">; /** Worker-safe Fluid card footer. */ declare const CardFooter: FluidUiComponent<"CardFooter">; /** Worker-safe Fluid card title. */ declare const CardTitle: FluidUiComponent<"CardTitle">; /** Worker-safe Fluid card action region. */ declare const CardAction: FluidUiComponent<"CardAction">; /** Worker-safe Fluid card description. */ declare const CardDescription: FluidUiComponent<"CardDescription">; /** Worker-safe Fluid card content. */ declare const CardContent: FluidUiComponent<"CardContent">; /** Worker-safe Fluid collapsible root. */ declare const Collapsible: FluidUiComponent<"Collapsible">; /** Worker-safe Fluid collapsible trigger. */ declare const CollapsibleTrigger: FluidUiComponent<"CollapsibleTrigger">; /** Worker-safe Fluid collapsible content. */ declare const CollapsibleContent: FluidUiComponent<"CollapsibleContent">; /** Worker-safe Fluid command root. */ declare const Command: FluidUiComponent<"Command">; /** Worker-safe Fluid command input. */ declare const CommandInput: FluidUiComponent<"CommandInput">; /** Worker-safe Fluid command list. */ declare const CommandList: FluidUiComponent<"CommandList">; /** Worker-safe Fluid command empty state. */ declare const CommandEmpty: FluidUiComponent<"CommandEmpty">; /** Worker-safe Fluid command group. */ declare const CommandGroup: FluidUiComponent<"CommandGroup">; /** Worker-safe Fluid command item. */ declare const CommandItem: FluidUiComponent<"CommandItem">; /** Worker-safe Fluid command keyboard shortcut. */ declare const CommandShortcut: FluidUiComponent<"CommandShortcut">; /** Worker-safe Fluid command separator. */ declare const CommandSeparator: FluidUiComponent<"CommandSeparator">; /** Worker-safe Fluid date picker with an ISO date value. */ declare const DatePicker: FluidUiComponent<"DatePicker">; /** Worker-safe Fluid dialog root. */ declare const Dialog: FluidUiComponent<"Dialog">; /** Worker-safe Fluid dialog trigger. */ declare const DialogTrigger: FluidUiComponent<"DialogTrigger">; /** Worker-safe Fluid dialog content contained by the widget. */ declare const DialogContent: FluidUiComponent<"DialogContent">; /** Worker-safe Fluid dialog header. */ declare const DialogHeader: FluidUiComponent<"DialogHeader">; /** Worker-safe Fluid dialog footer. */ declare const DialogFooter: FluidUiComponent<"DialogFooter">; /** Worker-safe Fluid dialog title. */ declare const DialogTitle: FluidUiComponent<"DialogTitle">; /** Worker-safe Fluid dialog description. */ declare const DialogDescription: FluidUiComponent<"DialogDescription">; /** Worker-safe Fluid dialog close action. */ declare const DialogClose: FluidUiComponent<"DialogClose">; /** Worker-safe Fluid dropdown menu root. */ declare const DropdownMenu: FluidUiComponent<"DropdownMenu">; /** Worker-safe Fluid dropdown menu trigger. */ declare const DropdownMenuTrigger: FluidUiComponent<"DropdownMenuTrigger">; /** Worker-safe Fluid dropdown menu content contained by the widget. */ declare const DropdownMenuContent: FluidUiComponent<"DropdownMenuContent">; /** Worker-safe Fluid dropdown menu group. */ declare const DropdownMenuGroup: FluidUiComponent<"DropdownMenuGroup">; /** Worker-safe Fluid dropdown menu label. */ declare const DropdownMenuLabel: FluidUiComponent<"DropdownMenuLabel">; /** Worker-safe Fluid dropdown menu item. */ declare const DropdownMenuItem: FluidUiComponent<"DropdownMenuItem">; /** Worker-safe Fluid dropdown menu checkbox item. */ declare const DropdownMenuCheckboxItem: FluidUiComponent<"DropdownMenuCheckboxItem">; /** Worker-safe Fluid dropdown menu radio group. */ declare const DropdownMenuRadioGroup: FluidUiComponent<"DropdownMenuRadioGroup">; /** Worker-safe Fluid dropdown menu radio item. */ declare const DropdownMenuRadioItem: FluidUiComponent<"DropdownMenuRadioItem">; /** Worker-safe Fluid dropdown menu separator. */ declare const DropdownMenuSeparator: FluidUiComponent<"DropdownMenuSeparator">; /** Worker-safe Fluid dropdown menu keyboard shortcut. */ declare const DropdownMenuShortcut: FluidUiComponent<"DropdownMenuShortcut">; /** Worker-safe Fluid dropdown submenu root. */ declare const DropdownMenuSub: FluidUiComponent<"DropdownMenuSub">; /** Worker-safe Fluid dropdown submenu trigger. */ declare const DropdownMenuSubTrigger: FluidUiComponent<"DropdownMenuSubTrigger">; /** Worker-safe Fluid dropdown submenu content contained by the widget. */ declare const DropdownMenuSubContent: FluidUiComponent<"DropdownMenuSubContent">; /** Worker-safe Fluid text input with string change events. */ declare const Input: FluidUiComponent<"Input">; /** Worker-safe Fluid label. */ declare const Label: FluidUiComponent<"Label">; /** Worker-safe Fluid pagination root. */ declare const Pagination: FluidUiComponent<"Pagination">; /** Worker-safe Fluid pagination content. */ declare const PaginationContent: FluidUiComponent<"PaginationContent">; /** Worker-safe Fluid pagination item. */ declare const PaginationItem: FluidUiComponent<"PaginationItem">; /** Worker-safe Fluid pagination link. */ declare const PaginationLink: FluidUiComponent<"PaginationLink">; /** Worker-safe Fluid previous-page link. */ declare const PaginationPrevious: FluidUiComponent<"PaginationPrevious">; /** Worker-safe Fluid next-page link. */ declare const PaginationNext: FluidUiComponent<"PaginationNext">; /** Worker-safe Fluid pagination overflow marker. */ declare const PaginationEllipsis: FluidUiComponent<"PaginationEllipsis">; /** Worker-safe Fluid popover root. */ declare const Popover: FluidUiComponent<"Popover">; /** Worker-safe Fluid popover trigger. */ declare const PopoverTrigger: FluidUiComponent<"PopoverTrigger">; /** Worker-safe Fluid popover anchor. */ declare const PopoverAnchor: FluidUiComponent<"PopoverAnchor">; /** Worker-safe Fluid popover content contained by the widget. */ declare const PopoverContent: FluidUiComponent<"PopoverContent">; /** Worker-safe Fluid popover header. */ declare const PopoverHeader: FluidUiComponent<"PopoverHeader">; /** Worker-safe Fluid popover title. */ declare const PopoverTitle: FluidUiComponent<"PopoverTitle">; /** Worker-safe Fluid popover description. */ declare const PopoverDescription: FluidUiComponent<"PopoverDescription">; /** Worker-safe Fluid progress indicator. */ declare const Progress: FluidUiComponent<"Progress">; /** Worker-safe Fluid radio group. */ declare const RadioGroup: FluidUiComponent<"RadioGroup">; /** Worker-safe Fluid radio group item. */ declare const RadioGroupItem: FluidUiComponent<"RadioGroupItem">; /** Worker-safe Fluid scroll area. */ declare const ScrollArea: FluidUiComponent<"ScrollArea">; /** Worker-safe Fluid scroll bar. */ declare const ScrollBar: FluidUiComponent<"ScrollBar">; /** Worker-safe Fluid select root. */ declare const Select: FluidUiComponent<"Select">; /** Worker-safe Fluid select group. */ declare const SelectGroup: FluidUiComponent<"SelectGroup">; /** Worker-safe Fluid select value. */ declare const SelectValue: FluidUiComponent<"SelectValue">; /** Worker-safe Fluid select trigger. */ declare const SelectTrigger: FluidUiComponent<"SelectTrigger">; /** Worker-safe Fluid select content contained by the widget. */ declare const SelectContent: FluidUiComponent<"SelectContent">; /** Worker-safe Fluid select label. */ declare const SelectLabel: FluidUiComponent<"SelectLabel">; /** Worker-safe Fluid select item. */ declare const SelectItem: FluidUiComponent<"SelectItem">; /** Worker-safe Fluid select separator. */ declare const SelectSeparator: FluidUiComponent<"SelectSeparator">; /** Worker-safe Fluid select scroll-up control. */ declare const SelectScrollUpButton: FluidUiComponent<"SelectScrollUpButton">; /** Worker-safe Fluid select scroll-down control. */ declare const SelectScrollDownButton: FluidUiComponent<"SelectScrollDownButton">; /** Worker-safe Fluid separator. */ declare const Separator: FluidUiComponent<"Separator">; /** Worker-safe Fluid sheet root. */ declare const Sheet: FluidUiComponent<"Sheet">; /** Worker-safe Fluid sheet trigger. */ declare const SheetTrigger: FluidUiComponent<"SheetTrigger">; /** Worker-safe Fluid sheet content contained by the widget. */ declare const SheetContent: FluidUiComponent<"SheetContent">; /** Worker-safe Fluid sheet header. */ declare const SheetHeader: FluidUiComponent<"SheetHeader">; /** Worker-safe Fluid sheet footer. */ declare const SheetFooter: FluidUiComponent<"SheetFooter">; /** Worker-safe Fluid sheet title. */ declare const SheetTitle: FluidUiComponent<"SheetTitle">; /** Worker-safe Fluid sheet description. */ declare const SheetDescription: FluidUiComponent<"SheetDescription">; /** Worker-safe Fluid sheet close action. */ declare const SheetClose: FluidUiComponent<"SheetClose">; /** Worker-safe Fluid skeleton placeholder. */ declare const Skeleton: FluidUiComponent<"Skeleton">; /** Worker-safe Fluid slider. */ declare const Slider: FluidUiComponent<"Slider">; /** Worker-safe Fluid spinner. */ declare const Spinner: FluidUiComponent<"Spinner">; /** Worker-safe Fluid spinner with status text. */ declare const SpinnerWithText: FluidUiComponent<"SpinnerWithText">; /** Worker-safe Fluid switch. */ declare const Switch: FluidUiComponent<"Switch">; /** Worker-safe Fluid table root. */ declare const Table: FluidUiComponent<"Table">; /** Worker-safe Fluid table header. */ declare const TableHeader: FluidUiComponent<"TableHeader">; /** Worker-safe Fluid table body. */ declare const TableBody: FluidUiComponent<"TableBody">; /** Worker-safe Fluid table footer. */ declare const TableFooter: FluidUiComponent<"TableFooter">; /** Worker-safe Fluid table row. */ declare const TableRow: FluidUiComponent<"TableRow">; /** Worker-safe Fluid table heading cell. */ declare const TableHead: FluidUiComponent<"TableHead">; /** Worker-safe Fluid table data cell. */ declare const TableCell: FluidUiComponent<"TableCell">; /** Worker-safe Fluid table caption. */ declare const TableCaption: FluidUiComponent<"TableCaption">; /** Worker-safe Fluid tabs root. */ declare const Tabs: FluidUiComponent<"Tabs">; /** Worker-safe Fluid tabs list. */ declare const TabsList: FluidUiComponent<"TabsList">; /** Worker-safe Fluid tabs trigger. */ declare const TabsTrigger: FluidUiComponent<"TabsTrigger">; /** Worker-safe Fluid tabs content. */ declare const TabsContent: FluidUiComponent<"TabsContent">; /** Worker-safe Fluid multiline text input with string change events. */ declare const Textarea: FluidUiComponent<"Textarea">; /** Worker-safe Fluid toggle. */ declare const Toggle: FluidUiComponent<"Toggle">; /** Worker-safe Fluid toggle group. */ declare const ToggleGroup: FluidUiComponent<"ToggleGroup">; /** Worker-safe Fluid toggle group item. */ declare const ToggleGroupItem: FluidUiComponent<"ToggleGroupItem">; /** Worker-safe Fluid tooltip root. */ declare const Tooltip: FluidUiComponent<"Tooltip">; /** Worker-safe Fluid tooltip trigger. */ declare const TooltipTrigger: FluidUiComponent<"TooltipTrigger">; /** Worker-safe Fluid tooltip content contained by the widget. */ declare const TooltipContent: FluidUiComponent<"TooltipContent">; /** Worker-safe Fluid combobox. */ declare const Combobox: FluidUiComponent<"Combobox">; /** Worker-safe Fluid infinite-scroll sentinel. */ declare const InfiniteScrollSentinel: FluidUiComponent<"InfiniteScrollSentinel">; /** Worker-safe Fluid phone input. */ declare const PhoneInput: FluidUiComponent<"PhoneInput">; //#endregion export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, type AddContentMediaProductInput, type AddContentPlaylistItemInput, type AddMySiteFavoriteInput, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogTitle, AlertDialogTrigger, AlertTitle, type AnySourceWidget, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, Calendar, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Combobox, Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, type CreateContentMediaInput, type CreateContentPlaylistInput, type CreateContentShareInput, type CreateDamAssetInput, type CreateDamAssetPathInput, type CreateMySiteLinkInput, type CreateTodoInput, DatePicker, type DeclarativeCapabilityUse, type DefineWidgetOptions, type DefineWidgetPackageOptions, type DeleteContentMediaInput, type DeleteContentPlaylistInput, type DeleteMySiteFavoriteInput, type DeleteMySiteLinkInput, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, FluidSpacerWidget, type FluidSpacerWidgetProps, type FluidUiComponent, type FullscreenState, type GetAddressFieldsInput, type GetContentMediaInput, type GetEnrollmentPackInput, type GetOrderInput, type GetPageInput, type GetPlaylistInput, type GetProductInput, InfiniteScrollSentinel, Input, Label, type ListContentMediaInput, type ListContentMediaProductsInput, type ListContentMetricsInput, type ListCountriesInput, type ListDamAssetPathsInput, type ListOrdersInput, type ListPagesInput, type ListPlaylistItemsInput, type ListPlaylistsInput, type ListProductMediaInput, type ListProductMetricsInput, type ListProductsInput, type ListTodosInput, type MutateDamAssetInput, PORTAL_ORDER_LIST_STATUSES, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, PhoneInput, Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, type PortalAddressFields, type PortalAppSummary, type PortalCalendarEvent, type PortalContentFavoriteState, type PortalCountry, type PortalDamAsset, type PortalDamAssetPath, type PortalEnrollmentPack, type PortalEntityId, type PortalFunction, type PortalFunctionDefinition, PortalFunctionError, type PortalFunctionErrorCode, type PortalFunctionHandler, type PortalFunctionImplementation, type PortalFunctionJsonValue, type PortalImage, type PortalLanguage, type PortalMedia, type PortalMediaCta, type PortalMediaProduct, type PortalMemberAccess, type PortalMetric, type PortalMetricsPeriod, type PortalMySiteFavorite, type PortalMySiteLink, type PortalMySiteProfile, type PortalMySiteTheme, type PortalNamedEntitySummary, type PortalNavigationItem, type PortalNavigationState, type PortalNavigationSummary, type PortalNavigationTarget, type PortalOrder, type PortalOrderAddress, type PortalOrderJsonValue, type PortalOrderLineItem, type PortalOrderListStatus, type PortalOrderMetafield, type PortalOrderPaymentMethod, type PortalOrderShippingMethod, type PortalOrderSummary, type PortalOrderTaxTotals, type PortalOrderTrackingInformation, type PortalPage, type PortalPageContent, type PortalPageDetail, type PortalPageInput, type PortalPlaylist, type PortalPlaylistItem, type PortalPlaylistItemContent, type PortalPlaylistProduct, type PortalPointsLedger, type PortalPointsLedgerEntry, type PortalProduct, type PortalProductMedia, type PortalProductVariant, type PortalProfileSummary, type PortalScreenSummary, type PortalShare, type PortalStore, type PortalSummaryCollection, type PortalTodo, type PortalTodoSummary, Progress, RadioGroup, RadioGroupItem, type RemoteDomWidgetWorkerController, type RemoveContentMediaProductInput, type RemoveContentPlaylistItemInput, type ReorderContentPlaylistItemsInput, type ReorderMySiteFavoritesInput, type ReorderMySiteLinksInput, type RuntimeSourceWidget, ScrollArea, ScrollBar, type SearchProductsInput, SearchSort, type SearchSortProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Skeleton, Slider, type SourceWidget, type SourceWidgetPackage, Spinner, SpinnerWithText, type StartWidgetPackageOptions, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Toggle, type ToggleContentFavoriteInput, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipTrigger, type UpdateContentMediaInput, type UpdateContentPlaylistInput, type UpdateMySiteLinkInput, type UpdateMySiteProfileInput, type UpdateMySiteSettingsInput, type UpdateUserAccountInput, type UserAccount, type WidgetSourceCapabilityDeclaration, type WidgetSourceDefaultProps, type WidgetSourcePropertyField, type WidgetSourcePropertySchema, type WidgetSourceResizable, addContentMediaProduct, addContentPlaylistItem, addMySiteFavorite, allowAnchorUrl, buildPortalHref, createContentMedia, createContentPlaylist, createContentShare, createDamAsset, createDamAssetPath, createMySiteLink, createTodo, definePortalFunction, defineWidget, defineWidgetPackage, deleteContentMedia, deleteContentPlaylist, deleteDamAsset, deleteMySiteFavorite, deleteMySiteLink, discardDamAsset, exitFullscreen, getAddressFields, getContentMedia, getEnrollmentPack, getFullscreenState, getMemberAccess, getMySiteProfile, getNavigationState, getOrder, getPage, getPlaylist, getPointsLedger, getPortalApp, getPortalProfile, getProduct, getStore, getUserAccount, implementPortalFunction, listCalendarEvents, listContentMedia, listContentMediaProducts, listContentMetrics, listCountries, listDamAssetPaths, listDamAssets, listEnrollmentPacks, listLanguages, listMySiteFavorites, listMySiteLinks, listMySiteThemes, listOrders, listPages, listPlaylistItems, listPlaylists, listProductMedia, listProductMetrics, listProducts, listShares, listTodos, navigateTo, networkAccess, prepareRemoteDomWidgetWorker, removeContentMediaProduct, removeContentPlaylistItem, reorderContentPlaylistItems, reorderMySiteFavorites, reorderMySiteLinks, requestFullscreen, searchProducts, startWidgetPackage, toggleContentFavorite, updateContentMedia, updateContentPlaylist, updateMySiteLink, updateMySiteProfile, updateMySiteSettings, updateUserAccount }; //# sourceMappingURL=worker.d.mts.map