import { GetEmbeddableItemRequest as GetEmbeddableItemRequest$1, GetEmbeddableItemResponse as GetEmbeddableItemResponse$1, ListEmbeddableItemsRequest as ListEmbeddableItemsRequest$1, ListEmbeddableItemsResponse as ListEmbeddableItemsResponse$1 } from './index.typings.js'; /** An embeddable item represents business content from Wix applications that can be integrated into rich text content and applications. Each item contains unified data structure with core fields, media, pricing, and type-specific details. */ interface EmbeddableItem extends EmbeddableItemItemTypeDetailsOneOf { /** Booking-specific details. Available only when `itemType` is `BOOKING`. */ bookingDetails?: BookingDetails; /** Event-specific details. Available only when `itemType` is `EVENT`. */ eventDetails?: EventDetails; /** * Embeddable item ID. * @format GUID */ id?: string | null; /** * Display title of the embeddable item. * @maxLength 300 */ title?: string; /** Image associated with the embeddable item. */ image?: Image; /** * Universal page URL for the embeddable item. * @format WEB_URL */ pageUrl?: string; /** Pricing information for the embeddable item. Fields are populated based on business logic - single services show `minValue` only, variable pricing shows ranges, and `discountedValue` only appears during active promotions. */ pricingData?: PricingData; /** Type of the app content */ itemType?: ItemTypeWithLiterals; } /** @oneof */ interface EmbeddableItemItemTypeDetailsOneOf { /** Booking-specific details. Available only when `itemType` is `BOOKING`. */ bookingDetails?: BookingDetails; /** Event-specific details. Available only when `itemType` is `EVENT`. */ eventDetails?: EventDetails; } /** Image data for embeddable items. */ interface Image { /** * WixMedia image ID. * @maxLength 100 */ id?: string; /** * Image URL. * @format WEB_URL */ url?: string; /** * Original image height in pixels. * @readonly */ height?: number; /** * Original image width in pixels. * @readonly */ width?: number; } /** * Embed provided pricing data * Pricing information for embeddable items. Fields are populated based on business logic and pricing model. */ interface PricingData { /** * Minimum price value. For example, `10.99`. * @decimalValue options { maxScale:2 } */ minValue?: string | null; /** * Maximum price value. For example, `19.99`. * @decimalValue options { maxScale:2 } */ maxValue?: string | null; /** * Price value after discount application. For example, `15.99`. Available only during active promotions. * @decimalValue options { maxScale:2 } */ discountedValue?: string | null; /** * Three-letter currency code in @ISO-4217 alphabetic format. * @format CURRENCY */ currency?: string | null; /** * Pricing plan ID. * @format GUID */ pricingPlanId?: string | null; } /** * Type of the embeddable item. * Type of embeddable item from Wix business applications. */ declare enum ItemType { /** Booking service from Wix Bookings. */ BOOKING = "BOOKING", /** Event from Wix Events. */ EVENT = "EVENT", /** Product from Wix Stores. Only includes published and available products. */ PRODUCT = "PRODUCT" } /** @enumType */ type ItemTypeWithLiterals = ItemType | 'BOOKING' | 'EVENT' | 'PRODUCT'; /** * Booking-specific details * Booking-specific details for embeddable items from Wix Bookings. */ interface BookingDetails { /** * Available session durations in minutes. * @min 1 * @max 44639 * @maxSize 50 */ durations?: number[]; } /** * Event-specific details * Event-specific details for embeddable items from Wix Events. */ interface EventDetails { /** * Human-readable date and time representation of the event. * @maxLength 500 */ formattedDateAndTime?: string | null; /** Date and time when the event starts. */ startDate?: Date | null; /** Date and time when the event ends. */ endDate?: Date | null; /** * Event time zone ID in @IANA TZ database format. * @maxLength 100 */ timeZoneId?: string | null; /** * Event location name. * @maxLength 50 */ location?: string | null; } /** * Request message for getting app embedded content * Request to retrieve a specific embeddable item. */ interface GetEmbeddableItemRequest { /** Type of embeddable item to retrieve. */ itemType: ItemTypeWithLiterals; /** * ID of the embeddable item to retrieve. * @format GUID */ embeddableItemId: string; } /** * Response message containing app embedded content * Response containing the requested embeddable item. */ interface GetEmbeddableItemResponse { /** Retrieved embeddable item. */ embeddableItem?: EmbeddableItem; } /** * Request message for querying app embedded content * Request to list embeddable items with optional filtering. */ interface ListEmbeddableItemsRequest { /** Type of embeddable items to list. */ itemType: ItemTypeWithLiterals; /** * Search query to filter items by title. * @maxLength 300 */ query?: string | null; /** Cursor-based pagination parameters. */ paging?: CursorPaging; } /** Cursor-based pagination parameters for listing requests. */ interface CursorPaging { /** * Number of items to load per page. * * Default: `50` * @max 100 */ limit?: number | null; /** * Cursor token for pagination. Use the cursor from the previous response to get the next page of results. * @maxLength 16000 */ cursor?: string | null; } /** * Response message containing app embedded content items * Response containing a list of embeddable items. */ interface ListEmbeddableItemsResponse { /** List of embeddable items matching the request criteria. */ items?: EmbeddableItem[]; /** Pagination metadata for navigating through results. */ pagingMetadata?: PagingMetadataV2; } /** Pagination metadata returned with list responses. */ interface PagingMetadataV2 { /** Number of items returned in the current response. */ count?: number | null; /** Navigation cursors for moving between result pages. */ cursors?: Cursors; } /** Navigation cursors for pagination. */ interface Cursors { /** * Cursor for retrieving the next page of results. * @maxLength 16000 */ next?: string | null; /** * Cursor for retrieving the previous page of results. * @maxLength 16000 */ prev?: string | null; } type __PublicMethodMetaInfo = { getUrl: (context: any) => string; httpMethod: K; path: string; pathParams: M; __requestType: T; __originalRequestType: S; __responseType: Q; __originalResponseType: R; }; declare function getEmbeddableItem(): __PublicMethodMetaInfo<'GET', { embeddableItemId: string; }, GetEmbeddableItemRequest$1, GetEmbeddableItemRequest, GetEmbeddableItemResponse$1, GetEmbeddableItemResponse>; declare function listEmbeddableItems(): __PublicMethodMetaInfo<'POST', {}, ListEmbeddableItemsRequest$1, ListEmbeddableItemsRequest, ListEmbeddableItemsResponse$1, ListEmbeddableItemsResponse>; export { type BookingDetails as BookingDetailsOriginal, type CursorPaging as CursorPagingOriginal, type Cursors as CursorsOriginal, type EmbeddableItemItemTypeDetailsOneOf as EmbeddableItemItemTypeDetailsOneOfOriginal, type EmbeddableItem as EmbeddableItemOriginal, type EventDetails as EventDetailsOriginal, type GetEmbeddableItemRequest as GetEmbeddableItemRequestOriginal, type GetEmbeddableItemResponse as GetEmbeddableItemResponseOriginal, type Image as ImageOriginal, ItemType as ItemTypeOriginal, type ItemTypeWithLiterals as ItemTypeWithLiteralsOriginal, type ListEmbeddableItemsRequest as ListEmbeddableItemsRequestOriginal, type ListEmbeddableItemsResponse as ListEmbeddableItemsResponseOriginal, type PagingMetadataV2 as PagingMetadataV2Original, type PricingData as PricingDataOriginal, type __PublicMethodMetaInfo, getEmbeddableItem, listEmbeddableItems };