import { ApproveGroupRequestsRequest as ApproveGroupRequestsRequest$1, ApproveGroupRequestsResponse as ApproveGroupRequestsResponse$1, RejectGroupRequestsRequest as RejectGroupRequestsRequest$1, RejectGroupRequestsResponse as RejectGroupRequestsResponse$1, ListGroupRequestsRequest as ListGroupRequestsRequest$1, ListGroupRequestsResponse as ListGroupRequestsResponse$1, QueryGroupRequestsRequest as QueryGroupRequestsRequest$1, QueryGroupRequestsResponse as QueryGroupRequestsResponse$1 } from './index.typings.js'; import '@wix/sdk-types'; /** * A group request is a site member's request for a site admin to create a group. * You can approve, reject, or view group requests. * Learn more about [Wix Groups](https://support.wix.com/en/article/wix-groups-about-groups). */ interface GroupRequest { /** * Group request ID. * @readonly * @format GUID */ id?: string | null; /** Group requested for creation. */ group?: Group; /** Status of group request. */ status?: RequestStatusWithLiterals; /** Group request details. */ requestDetails?: RequestDetails; } /** * A group object represents a community space where site members can connect and share content. * You can create groups and manage their visibility, settings, and metadata. * Learn more about [groups](https://support.wix.com/en/article/wix-groups-about-groups). */ interface Group { /** * Group ID. * @readonly * @format GUID */ id?: string | null; /** * A unique part of a group's URL, for example `https:/example.com/groups/slug`. * @minLength 1 * @maxLength 100 */ slug?: string | null; /** Group privacy status. */ privacyStatus?: PrivacyStatusWithLiterals; /** * Group name. * @maxLength 100 */ name?: string | null; /** * Group description in [DraftJS](https://draftjs.org) format. * @maxLength 20480 */ description?: string | null; /** * Group teaser. * @maxLength 1000 */ teaser?: string | null; /** * What group members are called, for example `Coworkers`, `Friends`, or `Students`. * @minLength 1 * @maxLength 1000 */ memberTitle?: string | null; /** Cover image. You cannot upload your own cover image. */ coverImage?: CoverImage; /** * Group specific settings. * * These settings can also be found in [a site's Dashboard](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Fwix-groups/settings?). */ settings?: GroupSettings; /** * Total count of current group members. * @readonly */ membersCount?: number | null; /** * Group owner. * @readonly * @format GUID */ ownerId?: string | null; /** * Group creation date and time. * @readonly */ createdDate?: Date | null; /** * Date and time of the latest group update. * @readonly */ updatedDate?: Date | null; /** * Date and time of the most recent group activity, for example a post or comment. * @readonly */ lastActivityDate?: Date | null; } declare enum Type { UNKNOWN = "UNKNOWN", ADMIN_APPROVAL = "ADMIN_APPROVAL", PAID_PLANS = "PAID_PLANS", EVENTS = "EVENTS" } /** @enumType */ type TypeWithLiterals = Type | 'UNKNOWN' | 'ADMIN_APPROVAL' | 'PAID_PLANS' | 'EVENTS'; interface Events { /** @format GUID */ eventIds?: string[]; } interface Logo { /** * Logo image ID (for internal use). * @maxLength 1000 */ mediaId?: string | null; /** Logo image width. */ width?: number | null; /** Logo image height. */ height?: number | null; /** * Alternative text. * @maxLength 200 */ altText?: string | null; } interface GroupDetailsPosition { /** horizontal coordinate */ x?: number; /** vertical coordinate */ y?: number; } interface Image { /** * Image ID (for internal use). * @maxLength 1000 */ mediaId?: string | null; /** Image width. */ width?: number | null; /** Image height. */ height?: number | null; /** Indicates pre-configured/auto-generated images (from templates, client generated). */ preset?: boolean | null; } interface Position { /** horizontal coordinate */ x?: number; /** vertical coordinate */ y?: number; } declare enum AllowPolicy { UNKNOWN = "UNKNOWN", OWNER_AND_ADMINS = "OWNER_AND_ADMINS", OWNER = "OWNER", ALL_MEMBERS = "ALL_MEMBERS" } /** @enumType */ type AllowPolicyWithLiterals = AllowPolicy | 'UNKNOWN' | 'OWNER_AND_ADMINS' | 'OWNER' | 'ALL_MEMBERS'; interface OnboardingStepSettings { stepKey?: StepKeyWithLiterals; visible?: boolean; } declare enum StepKey { UNKNOWN = "UNKNOWN", CREATE_POST = "CREATE_POST", REACT_TO_POST = "REACT_TO_POST", INVITE_MEMBERS = "INVITE_MEMBERS" } /** @enumType */ type StepKeyWithLiterals = StepKey | 'UNKNOWN' | 'CREATE_POST' | 'REACT_TO_POST' | 'INVITE_MEMBERS'; declare enum PrivacyStatus { /** Undefined group privacy status. */ UNKNOWN = "UNKNOWN", /** Anyone can see the group and its content. Anyone can join the group. */ PUBLIC = "PUBLIC", /** Anyone can see the group, but only members can see its content. New members must submit a `Join Group Request`. */ PRIVATE = "PRIVATE", /** Only admins and members can see the group. New members can only be added by other members. */ SECRET = "SECRET" } /** @enumType */ type PrivacyStatusWithLiterals = PrivacyStatus | 'UNKNOWN' | 'PUBLIC' | 'PRIVATE' | 'SECRET'; interface AccessRestriction extends AccessRestrictionDataOneOf { events?: Events; type?: TypeWithLiterals; } /** @oneof */ interface AccessRestrictionDataOneOf { events?: Events; } interface GroupDetails { /** Group logo. You cannot upload your own logo. */ logo?: Logo; /** * What group members are called, for example `Coworkers`, `Friends`, or `Students`. * @minLength 1 * @maxLength 1000 */ membersTitle?: string | null; } /** Cover image. You cannot upload your own cover image. */ interface CoverImage { /** Cover image. */ image?: Image; /** Position of the corner of the cover image (or logo). */ position?: Position; /** Position of the corner of the cover image (or logo) for mobile browser. */ mobilePosition?: Position; /** * Alternative text is typically a relatively short phrase that describes what the image depicts. * * The alternative text is used: * + If the browser cannot display the image. * + If the user is utilizing a screen reader. * + By search engines to understand what images are on your site. * @maxLength 200 */ altText?: string | null; } interface GroupSettings { /** * __Deprecated.__ Use `allowedToInviteMembers` instead. * Whether regular members are permitted to invite new members. * If `false`, only admins can invite members. Defaults to `true`. * @deprecated */ membersCanInvite?: boolean | null; /** * __Deprecated.__ Use `allowedToApproveJoinRequests` instead. * Whether all group members are permitted to approve join group requests. * If `false`, member approval is limited to the admins. * @deprecated */ membersCanApprove?: boolean | null; /** Whether a daily post about new members is enabled. */ welcomeMemberPostEnabled?: boolean | null; /** Whether an automatic post about changing the group details is enabled. */ groupDetailsChangedPostEnabled?: boolean | null; /** Whether all members can see the full member list. */ showMemberList?: boolean | null; /** Determines who can invite members to the group */ allowedToInviteMembers?: AllowPolicyWithLiterals; /** Determines who can approve member join requests to the group */ allowedToApproveJoinRequests?: AllowPolicyWithLiterals; /** * Whether AI spam protection is enabled for post creation in the group. * If not explicitly set, the default behavior is 'true' (enabled). */ aiSpamProtectionEnabled?: boolean | null; } interface Identity { /** * Member ID of the group creator. See the Members API for more details. * @format GUID */ id?: string | null; identityType?: IdentityTypeWithLiterals; } declare enum IdentityType { /** Wix user. */ USER = "USER", /** Wix member. */ MEMBER = "MEMBER" } /** @enumType */ type IdentityTypeWithLiterals = IdentityType | 'USER' | 'MEMBER'; declare enum RequestStatus { /** Pending group request. */ PENDING = "PENDING", /** Approved group request. */ APPROVED = "APPROVED", /** Rejected group request. */ REJECTED = "REJECTED", /** Canceled group request. */ CANCELED = "CANCELED" } /** @enumType */ type RequestStatusWithLiterals = RequestStatus | 'PENDING' | 'APPROVED' | 'REJECTED' | 'CANCELED'; interface RequestDetails { /** * Reason the request has been rejected. * @maxLength 1000 */ rejectionReason?: string | null; } interface SubmitGroupRequestRequest { /** Group submitted for creation. */ group?: Group; /** Content type of group description. */ contentType?: ContentTypeWithLiterals; } declare enum ContentType { PLAIN_TEXT = "PLAIN_TEXT", DRAFTJS = "DRAFTJS", RICH_CONTENT = "RICH_CONTENT" } /** @enumType */ type ContentTypeWithLiterals = ContentType | 'PLAIN_TEXT' | 'DRAFTJS' | 'RICH_CONTENT'; interface SubmitGroupRequestResponse { /** Submitted Group Request. */ groupRequest?: GroupRequest; } interface ApproveGroupRequestsRequest { /** * Group request IDs to approve. Limited to `100`. * @maxSize 100 */ groupRequestIds?: string[]; } declare enum ItemsToUpdate { /** Take into account only items which are listed in the request. */ BY_ID = "BY_ID", /** Update all items. */ ALL_ITEMS = "ALL_ITEMS" } /** @enumType */ type ItemsToUpdateWithLiterals = ItemsToUpdate | 'BY_ID' | 'ALL_ITEMS'; interface ApproveGroupRequestsResponse { /** Approved group requests. */ groupRequest?: GroupRequest[]; } interface GroupRequestApproved { /** Approved group request. */ groupRequest?: GroupRequest; } interface RejectGroupRequestsRequest { /** * Rejection data. * @maxSize 100 */ rejections?: Rejection[]; } interface Rejection { /** * ID of the group request to reject. * @format GUID */ groupRequestId?: string; /** * Rejection reason. Free text displayed to the creator of the rejected group request. Limited to 1,000 characters. * @maxLength 1000 */ reason?: string | null; } interface RejectGroupRequestsResponse { /** Rejected group requests. */ groupRequest?: GroupRequest[]; } interface GroupRequestRejected { /** Rejected group request. */ groupRequest?: GroupRequest; } interface CancelGroupRequestRequest { /** * ID of the group request to cancel. * @format GUID */ groupRequestId?: string; } interface CancelGroupRequestResponse { /** Canceled group request. */ groupRequest?: GroupRequest; } interface ListGroupRequestsRequest { /** * Number of items to load. Maximum `100`. * @max 100 */ limit?: number | null; /** Number of items to skip in the current sort order. */ offset?: number | null; } declare enum OwnershipFilter { /** All items. */ ALL = "ALL", /** Items for the current site member. */ CURRENT_MEMBER = "CURRENT_MEMBER" } /** @enumType */ type OwnershipFilterWithLiterals = OwnershipFilter | 'ALL' | 'CURRENT_MEMBER'; interface ListGroupRequestsResponse { /** Group Requests. */ groupRequests?: GroupRequest[]; /** Paging information. */ metadata?: PagingMetadata; } interface PagingMetadata { /** Number of items returned in the response. */ count?: number | null; /** Offset that was requested. */ offset?: number | null; /** Total number of items that match the query. */ total?: number | null; /** Flag that indicates the server failed to calculate the `total` field. */ tooManyToCount?: boolean | null; } interface QueryGroupRequestsRequest { query?: Query; } interface Query { /** * Filter object in the following format: * `"filter" : { * "fieldName1": "value1", * "fieldName2":{"$operator":"value2"} * }` * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains` */ filter?: any; /** * Sort object in the following format: * `[{"fieldName":"sortField1","order":"ASC"},{"fieldName":"sortField2","order":"DESC"}]` */ sort?: Sorting[]; /** Paging options to limit and skip the number of items. */ paging?: Paging; /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */ fields?: string[]; /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */ fieldsets?: string[]; } interface Sorting { /** * Name of the field to sort by. * @maxLength 512 */ fieldName?: string; /** Sort order. */ order?: SortOrderWithLiterals; } declare enum SortOrder { ASC = "ASC", DESC = "DESC" } /** @enumType */ type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC'; interface Paging { /** Number of items to load. */ limit?: number | null; /** Number of items to skip in the current sort order. */ offset?: number | null; } interface QueryGroupRequestsResponse { /** Retrieved group requests. */ groupRequests?: GroupRequest[]; /** Paging information. */ metadata?: PagingMetadata; } interface DomainEvent extends DomainEventBodyOneOf { createdEvent?: EntityCreatedEvent; updatedEvent?: EntityUpdatedEvent; deletedEvent?: EntityDeletedEvent; actionEvent?: ActionEvent; /** Event ID. With this ID you can easily spot duplicated events and ignore them. */ id?: string; /** * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities. * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`. */ entityFqdn?: string; /** * Event action name, placed at the top level to make it easier for users to dispatch messages. * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`. */ slug?: string; /** ID of the entity associated with the event. */ entityId?: string; /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */ eventTime?: Date | null; /** * Whether the event was triggered as a result of a privacy regulation application * (for example, GDPR). */ triggeredByAnonymizeRequest?: boolean | null; /** If present, indicates the action that triggered the event. */ originatedFrom?: string | null; /** * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number. * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it. */ entityEventSequence?: string | null; } /** @oneof */ interface DomainEventBodyOneOf { createdEvent?: EntityCreatedEvent; updatedEvent?: EntityUpdatedEvent; deletedEvent?: EntityDeletedEvent; actionEvent?: ActionEvent; } interface EntityCreatedEvent { entityAsJson?: string; /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */ restoreInfo?: RestoreInfo; } interface RestoreInfo { deletedDate?: Date | null; } interface EntityUpdatedEvent { /** * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff. * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects. * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it. */ currentEntityAsJson?: string; } interface EntityDeletedEvent { /** Entity that was deleted. */ deletedEntityAsJson?: string | null; } interface ActionEvent { bodyAsJson?: string; } interface MessageEnvelope { /** * App instance ID. * @format GUID */ instanceId?: string | null; /** * Event type. * @maxLength 150 */ eventType?: string; /** The identification type and identity data. */ identity?: IdentificationData; /** Stringify payload. */ data?: string; /** Details related to the account */ accountInfo?: AccountInfo; } interface IdentificationData extends IdentificationDataIdOneOf { /** * ID of a site visitor that has not logged in to the site. * @format GUID */ anonymousVisitorId?: string; /** * ID of a site visitor that has logged in to the site. * @format GUID */ memberId?: string; /** * ID of a Wix user (site owner, contributor, etc.). * @format GUID */ wixUserId?: string; /** * ID of an app. * @format GUID */ appId?: string; /** @readonly */ identityType?: WebhookIdentityTypeWithLiterals; } /** @oneof */ interface IdentificationDataIdOneOf { /** * ID of a site visitor that has not logged in to the site. * @format GUID */ anonymousVisitorId?: string; /** * ID of a site visitor that has logged in to the site. * @format GUID */ memberId?: string; /** * ID of a Wix user (site owner, contributor, etc.). * @format GUID */ wixUserId?: string; /** * ID of an app. * @format GUID */ appId?: string; } declare enum WebhookIdentityType { UNKNOWN = "UNKNOWN", ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR", MEMBER = "MEMBER", WIX_USER = "WIX_USER", APP = "APP" } /** @enumType */ type WebhookIdentityTypeWithLiterals = WebhookIdentityType | 'UNKNOWN' | 'ANONYMOUS_VISITOR' | 'MEMBER' | 'WIX_USER' | 'APP'; interface AccountInfo { /** * ID of the Wix account associated with the event. * @format GUID */ accountId?: string | null; /** * ID of the parent Wix account. Only included when accountId belongs to a child account. * @format GUID */ parentAccountId?: string | null; /** * ID of the Wix site associated with the event. Only included when the event is tied to a specific site. * @format GUID */ siteId?: string | null; } type __PublicMethodMetaInfo = { getUrl: (context: any) => string; httpMethod: K; path: string; pathParams: M; __requestType: T; __originalRequestType: S; __responseType: Q; __originalResponseType: R; }; declare function approveGroupRequests(): __PublicMethodMetaInfo<'POST', {}, ApproveGroupRequestsRequest$1, ApproveGroupRequestsRequest, ApproveGroupRequestsResponse$1, ApproveGroupRequestsResponse>; declare function rejectGroupRequests(): __PublicMethodMetaInfo<'POST', {}, RejectGroupRequestsRequest$1, RejectGroupRequestsRequest, RejectGroupRequestsResponse$1, RejectGroupRequestsResponse>; declare function listGroupRequests(): __PublicMethodMetaInfo<'GET', {}, ListGroupRequestsRequest$1, ListGroupRequestsRequest, ListGroupRequestsResponse$1, ListGroupRequestsResponse>; declare function queryGroupRequests(): __PublicMethodMetaInfo<'POST', {}, QueryGroupRequestsRequest$1, QueryGroupRequestsRequest, QueryGroupRequestsResponse$1, QueryGroupRequestsResponse>; export { type AccessRestrictionDataOneOf as AccessRestrictionDataOneOfOriginal, type AccessRestriction as AccessRestrictionOriginal, type AccountInfo as AccountInfoOriginal, type ActionEvent as ActionEventOriginal, AllowPolicy as AllowPolicyOriginal, type AllowPolicyWithLiterals as AllowPolicyWithLiteralsOriginal, type ApproveGroupRequestsRequest as ApproveGroupRequestsRequestOriginal, type ApproveGroupRequestsResponse as ApproveGroupRequestsResponseOriginal, type CancelGroupRequestRequest as CancelGroupRequestRequestOriginal, type CancelGroupRequestResponse as CancelGroupRequestResponseOriginal, ContentType as ContentTypeOriginal, type ContentTypeWithLiterals as ContentTypeWithLiteralsOriginal, type CoverImage as CoverImageOriginal, type DomainEventBodyOneOf as DomainEventBodyOneOfOriginal, type DomainEvent as DomainEventOriginal, type EntityCreatedEvent as EntityCreatedEventOriginal, type EntityDeletedEvent as EntityDeletedEventOriginal, type EntityUpdatedEvent as EntityUpdatedEventOriginal, type Events as EventsOriginal, type GroupDetails as GroupDetailsOriginal, type GroupDetailsPosition as GroupDetailsPositionOriginal, type Group as GroupOriginal, type GroupRequestApproved as GroupRequestApprovedOriginal, type GroupRequest as GroupRequestOriginal, type GroupRequestRejected as GroupRequestRejectedOriginal, type GroupSettings as GroupSettingsOriginal, type IdentificationDataIdOneOf as IdentificationDataIdOneOfOriginal, type IdentificationData as IdentificationDataOriginal, type Identity as IdentityOriginal, IdentityType as IdentityTypeOriginal, type IdentityTypeWithLiterals as IdentityTypeWithLiteralsOriginal, type Image as ImageOriginal, ItemsToUpdate as ItemsToUpdateOriginal, type ItemsToUpdateWithLiterals as ItemsToUpdateWithLiteralsOriginal, type ListGroupRequestsRequest as ListGroupRequestsRequestOriginal, type ListGroupRequestsResponse as ListGroupRequestsResponseOriginal, type Logo as LogoOriginal, type MessageEnvelope as MessageEnvelopeOriginal, type OnboardingStepSettings as OnboardingStepSettingsOriginal, OwnershipFilter as OwnershipFilterOriginal, type OwnershipFilterWithLiterals as OwnershipFilterWithLiteralsOriginal, type PagingMetadata as PagingMetadataOriginal, type Paging as PagingOriginal, type Position as PositionOriginal, PrivacyStatus as PrivacyStatusOriginal, type PrivacyStatusWithLiterals as PrivacyStatusWithLiteralsOriginal, type QueryGroupRequestsRequest as QueryGroupRequestsRequestOriginal, type QueryGroupRequestsResponse as QueryGroupRequestsResponseOriginal, type Query as QueryOriginal, type RejectGroupRequestsRequest as RejectGroupRequestsRequestOriginal, type RejectGroupRequestsResponse as RejectGroupRequestsResponseOriginal, type Rejection as RejectionOriginal, type RequestDetails as RequestDetailsOriginal, RequestStatus as RequestStatusOriginal, type RequestStatusWithLiterals as RequestStatusWithLiteralsOriginal, type RestoreInfo as RestoreInfoOriginal, SortOrder as SortOrderOriginal, type SortOrderWithLiterals as SortOrderWithLiteralsOriginal, type Sorting as SortingOriginal, StepKey as StepKeyOriginal, type StepKeyWithLiterals as StepKeyWithLiteralsOriginal, type SubmitGroupRequestRequest as SubmitGroupRequestRequestOriginal, type SubmitGroupRequestResponse as SubmitGroupRequestResponseOriginal, Type as TypeOriginal, type TypeWithLiterals as TypeWithLiteralsOriginal, WebhookIdentityType as WebhookIdentityTypeOriginal, type WebhookIdentityTypeWithLiterals as WebhookIdentityTypeWithLiteralsOriginal, type __PublicMethodMetaInfo, approveGroupRequests, listGroupRequests, queryGroupRequests, rejectGroupRequests };