import { PublicNotifyRequest as PublicNotifyRequest$1, Empty as Empty$1 } from './index.typings.mjs'; interface Public_notification { /** Notification ID. */ id?: string | null; } interface PublicNotifyRequest extends PublicNotifyRequestRecipientsFilterOneOf, PublicNotifyRequestActionTargetOneOf { /** Send to [site contributors]((https://support.wix.com/en/article/roles-permissions-overview)). This includes site administrators, website managers, and back office managers. */ toSiteContributors?: ToSiteContributors; /** Send to [site contacts](https://support.wix.com/en/article/about-your-contact-list). */ toContacts?: ToContacts; /** * Send to site members who subscribed to a [notification topic](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/notifications/add-notification-extensions#step-1--create-a-notification-topic-extension). * @internal */ toTopicsSubscribers?: ToTopicsSubscribers; /** External URL to open when the notification action is clicked. */ targetUrl?: string | null; /** Dashboard page to open when the notification action is clicked. */ targetDashboardPage?: DashboardPagesWithLiterals; /** Title of the notification. */ title?: string | null; /** Body of the notification. This contains the main content of the notification. */ body?: string | null; /** Title of the notification action. Clicking the action refers the user to a target URL or a dashboard page. */ action?: string | null; /** * Channel through which users receive the notification. * @maxSize 20 */ channels?: ChannelWithLiterals[]; } /** @oneof */ interface PublicNotifyRequestRecipientsFilterOneOf { /** Send to [site contributors]((https://support.wix.com/en/article/roles-permissions-overview)). This includes site administrators, website managers, and back office managers. */ toSiteContributors?: ToSiteContributors; /** Send to [site contacts](https://support.wix.com/en/article/about-your-contact-list). */ toContacts?: ToContacts; /** * Send to site members who subscribed to a [notification topic](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/notifications/add-notification-extensions#step-1--create-a-notification-topic-extension). * @internal */ toTopicsSubscribers?: ToTopicsSubscribers; } /** @oneof */ interface PublicNotifyRequestActionTargetOneOf { /** External URL to open when the notification action is clicked. */ targetUrl?: string | null; /** Dashboard page to open when the notification action is clicked. */ targetDashboardPage?: DashboardPagesWithLiterals; } interface ToSiteContributors { /** Role assigned to site contributors. Only contributors with the specified roles receive the notification. */ withRole?: RoleWithLiterals; } declare enum Role { /** All site contributors. */ All_Contributors = "All_Contributors", /** Site owner only. */ Owner = "Owner" } /** @enumType */ type RoleWithLiterals = Role | 'All_Contributors' | 'Owner'; interface ToContacts { /** * Contacts that receive the notification. * @format GUID * @maxSize 1000 */ contactIds?: string[]; } interface ToTopicsSubscribers { /** * Notification topics to which the recipients have subscribed. Only contacts who subscribed to the specified topics receive the notification. * @maxSize 100 */ topics?: string[]; /** * Excluded contact IDs. Contacts with these IDs don't receive the notification. * @maxSize 1000 */ excludedContactIds?: string[]; } declare enum Channel { /** No default channel. */ Undefined = "Undefined", /** Site dashboard. */ Dashboard = "Dashboard", /** [Wix Owner](https://www.wix.com/mobile/wix-app) mobile app. */ Mobile = "Mobile", /** Active browser. Supported on Chrome and Safari only. */ Browser = "Browser" } /** @enumType */ type ChannelWithLiterals = Channel | 'Undefined' | 'Dashboard' | 'Mobile' | 'Browser'; declare enum DashboardPages { Undefined_Page = "Undefined_Page", /** Site dashboard home. */ Home = "Home" } /** @enumType */ type DashboardPagesWithLiterals = DashboardPages | 'Undefined_Page' | 'Home'; interface Empty { } type __PublicMethodMetaInfo = { getUrl: (context: any) => string; httpMethod: K; path: string; pathParams: M; __requestType: T; __originalRequestType: S; __responseType: Q; __originalResponseType: R; }; declare function notify(): __PublicMethodMetaInfo<'POST', {}, PublicNotifyRequest$1, PublicNotifyRequest, Empty$1, Empty>; export { Channel as ChannelOriginal, type ChannelWithLiterals as ChannelWithLiteralsOriginal, DashboardPages as DashboardPagesOriginal, type DashboardPagesWithLiterals as DashboardPagesWithLiteralsOriginal, type Empty as EmptyOriginal, type PublicNotifyRequestActionTargetOneOf as PublicNotifyRequestActionTargetOneOfOriginal, type PublicNotifyRequest as PublicNotifyRequestOriginal, type PublicNotifyRequestRecipientsFilterOneOf as PublicNotifyRequestRecipientsFilterOneOfOriginal, type Public_notification as Public_notificationOriginal, Role as RoleOriginal, type RoleWithLiterals as RoleWithLiteralsOriginal, type ToContacts as ToContactsOriginal, type ToSiteContributors as ToSiteContributorsOriginal, type ToTopicsSubscribers as ToTopicsSubscribersOriginal, type __PublicMethodMetaInfo, notify };