import * as _wix_sdk_types from '@wix/sdk-types'; import { QuerySpec, Query as Query$1, NonNullablePaths } from '@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. * * Max: `100` */ 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 { entity?: string; } 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. */ currentEntity?: string; } interface EntityDeletedEvent { /** Entity that was deleted. */ deletedEntity?: string | null; } interface ActionEvent { body?: 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; } interface BaseEventMetadata { /** * App instance ID. * @format GUID */ instanceId?: string | null; /** * Event type. * @maxLength 150 */ eventType?: string; /** The identification type and identity data. */ identity?: IdentificationData; /** Details related to the account */ accountInfo?: AccountInfo; } interface EventMetadata extends BaseEventMetadata { /** 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; accountInfo?: AccountInfoMetadata; } interface AccountInfoMetadata { /** ID of the Wix account associated with the event */ accountId: string; /** ID of the Wix site associated with the event. Only included when the event is tied to a specific site. */ siteId?: string; /** ID of the parent Wix account. Only included when 'accountId' belongs to a child account. */ parentAccountId?: string; } interface GroupRequestApprovedEnvelope { data: GroupRequestApproved; metadata: EventMetadata; } /** * Triggered when a group request is approved. * @permissionScope Manage Social Groups * @permissionScopeId SCOPE.DC-MANAGE.SOCIAL-GROUPS * @permissionId SOCIAL-GROUPS.MANAGE * @webhook * @eventType wix.social_groups.v2.group_request_approved * @serviceIdentifier wix.social.groups.api.v2.GroupRequestsService * @slug approved */ declare function onGroupRequestApproved(handler: (event: GroupRequestApprovedEnvelope) => void | Promise): void; interface GroupRequestCreatedEnvelope { entity: GroupRequest; metadata: EventMetadata; } /** @permissionScope Manage Social Groups * @permissionScopeId SCOPE.DC-MANAGE.SOCIAL-GROUPS * @permissionId SOCIAL-GROUPS.MANAGE * @webhook * @eventType wix.social_groups.v2.group_request_created * @serviceIdentifier wix.social.groups.api.v2.GroupRequestsService * @slug created * @documentationMaturity preview */ declare function onGroupRequestCreated(handler: (event: GroupRequestCreatedEnvelope) => void | Promise): void; interface GroupRequestRejectedEnvelope { data: GroupRequestRejected; metadata: EventMetadata; } /** * Triggered when a group request is rejected. * @permissionScope Manage Social Groups * @permissionScopeId SCOPE.DC-MANAGE.SOCIAL-GROUPS * @permissionId SOCIAL-GROUPS.MANAGE * @webhook * @eventType wix.social_groups.v2.group_request_rejected * @serviceIdentifier wix.social.groups.api.v2.GroupRequestsService * @slug rejected */ declare function onGroupRequestRejected(handler: (event: GroupRequestRejectedEnvelope) => void | Promise): void; /** * Approves group requests. * * Only Wix users can approve group requests. * @param groupRequestIds - Group request IDs to approve. Limited to `100`. * @public * @requiredField groupRequestIds * @fqn wix.social.groups.api.v2.GroupRequestsService.ApproveGroupRequests */ declare function approveGroupRequests(groupRequestIds: string[]): Promise>; /** * Rejects group requests. * * Only Wix users can reject group requests. * @param rejections - Rejection data. * @public * @requiredField rejections * @fqn wix.social.groups.api.v2.GroupRequestsService.RejectGroupRequests */ declare function rejectGroupRequests(rejections: Rejection[]): Promise>; /** * Lists requests to create a group. * * The `listGroupRequests()` function returns a Promise that resolves to a list of up to 1,000 create group requests on your site. * * Using the options parameter, you can filter your list of posts, set the amount of posts to be returned, and sort your list in a specified order. * * By default, the list is sorted by `_createdDate` in descending order. Only admins can see create group requests. Members can access their own create group requests in their site. * * >**Note:** This function is only relevant if admin approval is required for creating a group. * * @public * @param options - Paging options. * @fqn wix.social.groups.api.v2.GroupRequestsService.ListGroupRequests */ declare function listGroupRequests(options?: ListGroupRequestsOptions): Promise>; interface ListGroupRequestsOptions { /** * Number of items to load. * * Max: `100` * * @max 100 */ limit?: number | null; /** Number of items to skip in the current sort order. */ offset?: number | null; } /** * Creates a query to retrieve a list of create requests. * * The `queryGroupRequests()` function builds a query to retrieve a list of all requests to create a group, and returns a `GroupRequestsQueryBuilder` object. * * The returned object contains the query definition which is typically used to run the query using the [`find()`](/group-requests-query-builder/find) function. You can refine the query by chaining `GroupRequestQueryBuilder` functions onto the query. `GroupRequestQueryBuilder` functions enable you to sort, filter, and control the results that `queryGroupRequests()` returns. * * `queryGroupRequests()` runs with these `GroupRequestsQueryBuilder` defaults, which you can override: * - [`limit(1000)`](/group-requests-query-builder/limit) * * The following `GroupRequestsQueryBuilder` functions are supported for `queryGroupRequests()`. For a full description of the `GroupRequests` object, see the object returned for the [`items`](/group-requests-query-result/items) property in `GroupRequestsQueryResult`. * @public * @fqn wix.social.groups.api.v2.GroupRequestsService.QueryGroupRequests */ declare function queryGroupRequests(options?: QueryGroupRequestsOptions): GroupRequestsQueryBuilder; interface QueryGroupRequestsOptions { } interface QueryOffsetResult { currentPage: number | undefined; totalPages: number | undefined; totalCount: number | undefined; hasNext: () => boolean; hasPrev: () => boolean; length: number; pageSize: number; } interface GroupRequestsQueryResult extends QueryOffsetResult { items: GroupRequest[]; query: GroupRequestsQueryBuilder; next: () => Promise; prev: () => Promise; } interface GroupRequestsQueryBuilder { /** @param propertyName - Property whose value is compared with `value`. * @param value - Value to compare against. */ eq: (propertyName: 'status', value: any) => GroupRequestsQueryBuilder; /** @param propertyName - Property whose value is compared with `value`. * @param value - Value to compare against. */ ne: (propertyName: 'status', value: any) => GroupRequestsQueryBuilder; /** @param propertyName - Property whose value is compared with `values`. * @param values - List of values to compare against. */ hasSome: (propertyName: 'status', value: any[]) => GroupRequestsQueryBuilder; in: (propertyName: 'status', value: any) => GroupRequestsQueryBuilder; exists: (propertyName: 'status', value: boolean) => GroupRequestsQueryBuilder; /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */ limit: (limit: number) => GroupRequestsQueryBuilder; /** @param skip - Number of items to skip in the query results before returning the results. */ skip: (skip: number) => GroupRequestsQueryBuilder; find: () => Promise; } /** * @hidden * @fqn wix.social.groups.api.v2.GroupRequestsService.QueryGroupRequests * @requiredField query */ declare function typedQueryGroupRequests(query: GroupRequestQuery, options?: QueryGroupRequestsOptions): Promise>; interface GroupRequestQuerySpec extends QuerySpec { paging: 'offset'; wql: []; } type CommonQueryWithEntityContext = Query$1; type GroupRequestQuery = { /** 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?: CommonQueryWithEntityContext['filter']; /** Sort object in the following format: `[{"fieldName":"sortField1","order":"ASC"},{"fieldName":"sortField2","order":"DESC"}]` */ sort?: { /** Name of the field to sort by. @maxLength: 512 */ fieldName?: NonNullable[number]['fieldName']; /** Sort order. */ order?: NonNullable[number]['order']; }[]; /** Paging options to limit and skip the number of items. */ paging?: { /** Number of items to load. Max: `100` */ limit?: NonNullable['limit'] | null; /** Number of items to skip in the current sort order. */ offset?: NonNullable['offset'] | null; }; }; declare const utils: { QueryBuilder: () => _wix_sdk_types.QueryBuilder; Filter: _wix_sdk_types.FilterFactory; Sort: _wix_sdk_types.SortFactory; }; export { type AccessRestriction, type AccessRestrictionDataOneOf, type AccountInfo, type AccountInfoMetadata, type ActionEvent, AllowPolicy, type AllowPolicyWithLiterals, type ApproveGroupRequestsRequest, type ApproveGroupRequestsResponse, type BaseEventMetadata, type CancelGroupRequestRequest, type CancelGroupRequestResponse, type CommonQueryWithEntityContext, ContentType, type ContentTypeWithLiterals, type CoverImage, type DomainEvent, type DomainEventBodyOneOf, type EntityCreatedEvent, type EntityDeletedEvent, type EntityUpdatedEvent, type EventMetadata, type Events, type Group, type GroupDetails, type GroupDetailsPosition, type GroupRequest, type GroupRequestApproved, type GroupRequestApprovedEnvelope, type GroupRequestCreatedEnvelope, type GroupRequestQuery, type GroupRequestQuerySpec, type GroupRequestRejected, type GroupRequestRejectedEnvelope, type GroupRequestsQueryBuilder, type GroupRequestsQueryResult, type GroupSettings, type IdentificationData, type IdentificationDataIdOneOf, type Identity, IdentityType, type IdentityTypeWithLiterals, type Image, ItemsToUpdate, type ItemsToUpdateWithLiterals, type ListGroupRequestsOptions, type ListGroupRequestsRequest, type ListGroupRequestsResponse, type Logo, type MessageEnvelope, type OnboardingStepSettings, OwnershipFilter, type OwnershipFilterWithLiterals, type Paging, type PagingMetadata, type Position, PrivacyStatus, type PrivacyStatusWithLiterals, type Query, type QueryGroupRequestsOptions, type QueryGroupRequestsRequest, type QueryGroupRequestsResponse, type RejectGroupRequestsRequest, type RejectGroupRequestsResponse, type Rejection, type RequestDetails, RequestStatus, type RequestStatusWithLiterals, type RestoreInfo, SortOrder, type SortOrderWithLiterals, type Sorting, StepKey, type StepKeyWithLiterals, type SubmitGroupRequestRequest, type SubmitGroupRequestResponse, Type, type TypeWithLiterals, WebhookIdentityType, type WebhookIdentityTypeWithLiterals, approveGroupRequests, listGroupRequests, onGroupRequestApproved, onGroupRequestCreated, onGroupRequestRejected, queryGroupRequests, rejectGroupRequests, typedQueryGroupRequests, utils };