interface Name$1 { /** User's first name. */ firstName?: string; /** User's last name. */ lastName?: string; } interface Restriction$1 extends RestrictionRestrictionsOneOf$1 { /** * Deprecated. * @deprecated */ resource?: ApiResource$1; /** List of conditions restricting the user's access. Currently only folder conditions are supported. */ conditions?: Conditions$1; /** Site where the assignment restrictions apply. */ site?: SiteRestriction$1; } /** @oneof */ interface RestrictionRestrictionsOneOf$1 { /** * Deprecated. * @deprecated */ resource?: ApiResource$1; /** List of conditions restricting the user's access. Currently only folder conditions are supported. */ conditions?: Conditions$1; /** Site where the assignment restrictions apply. */ site?: SiteRestriction$1; } interface ApiResource$1 { /** Resource type. */ resourceType?: ResourceType$1; /** Resource ID. */ id?: string; value?: string | null; } declare enum ResourceType$1 { UNKNOWN_RESOURCE_TYPE = "UNKNOWN_RESOURCE_TYPE", SITE = "SITE" } interface Conditions$1 { /** List of conditions. */ conditions?: ApiCondition$1[]; } interface ApiCondition$1 { /** Condition type. */ conditionType?: ConditionAttributeType$1; /** Condition ID. */ id?: string; /** Expected value of the condition. When `conditionType` = "FOLDER", this is the folder path. */ value?: string | null; } declare enum ConditionAttributeType$1 { UNKNOWN_CONDITION_TYPE = "UNKNOWN_CONDITION_TYPE", FOLDER = "FOLDER" } interface SiteRestriction$1 { /** Site ID. */ id?: string; /** Site name. */ value?: string | null; } declare enum SubjectType$1 { UNKNOWN = "UNKNOWN", ACCOUNT = "ACCOUNT", USER = "USER", USER_GROUP = "USER_GROUP", MEMBER_GROUP = "MEMBER_GROUP", VISITOR_GROUP = "VISITOR_GROUP", EXTERNAL_APP = "EXTERNAL_APP", ACCOUNT_GROUP = "ACCOUNT_GROUP", WIX_APP = "WIX_APP" } interface Paging$1 { /** Number of items to load. */ limit?: number | null; /** Number of items to skip in the current sort order. */ offset?: number | null; } /** Invite status stating whether the invite was accepted, waiting to be accepted, deleted etc.. */ declare enum InviteStatus$1 { Pending = "Pending", Used = "Used", Deleted = "Deleted", Declined = "Declined", Expired = "Expired" } interface RemoveMemberRequest$1 { /** User ID of the team member to remove. */ userId: string; } interface RemoveMemberResponse$1 { } declare enum RoleLevel$1 { ALL = "ALL", SITE_LEVEL = "SITE_LEVEL", ACCOUNT_LEVEL = "ACCOUNT_LEVEL" } interface SearchTeamRequest$1 { /** Free text to search for within team member name and email address fields. */ query?: string | null; /** Sort data. */ orderBy?: Ordering$1[]; /** * Filter object. Supported values: `inviteType` and `roleId`. For example, `{'inviteType': {'$eq': 'Expired'}}`. * See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more information. */ filter?: Record | null; /** * A list of facets to return in the response. Facets count the items within logical groupings. * See [Filters and Facets: An Explainer](https://medium.com/@westontt/filters-and-facets-an-explainer-3b73a9538eca) for more information. */ facets?: FacetType$1[]; /** Pagination. */ paging?: Paging$1; } interface Ordering$1 { /** Field to sort by. */ fieldName?: OrderField$1; /** Sort order. */ direction?: Direction$1; } declare enum OrderField$1 { /** For internal use. */ Undefined = "Undefined", /** Team member name. */ Name = "Name", /** Date team member joined the account. */ JoinedAt = "JoinedAt" } declare enum Direction$1 { /** For internal use. */ UninitializedDirection = "UninitializedDirection", /** Ascending. */ ASC = "ASC", /** Descending. */ DESC = "DESC" } declare enum FacetType$1 { Undefined = "Undefined", /** How many team members with each role */ Roles = "Roles", /** How many team members by invite status */ InviteStatus = "InviteStatus", /** How many team members in total in the account */ Users = "Users" } interface SearchTeamResponse$1 { /** List of facets, as requested. */ facets?: Facet$1[]; /** Existing team members and invites sent to join the account. */ teamMembers?: TeamMemberV3$1[]; } interface Facet$1 { /** Facet type. */ facetType?: FacetType$1; /** Values and their counters. Values with count = 0 are not returned. */ values?: FacetValue$1[]; } interface FacetValue$1 { /** Supported values: `Roles`, `InviteStatus`, `Users`. */ value?: string; /** Number of existing items for the value. */ count?: number; } interface TeamMemberV3$1 extends TeamMemberV3MembersOneOf$1 { /** Existing team member data. */ user?: UserV3$1; /** Invited team member data. */ invite?: InviteV3$1; } /** @oneof */ interface TeamMemberV3MembersOneOf$1 { /** Existing team member data. */ user?: UserV3$1; /** Invited team member data. */ invite?: InviteV3$1; } interface UserV3$1 { /** User ID. */ id?: string; /** User's email address. */ email?: string | null; /** User's name, when provided. */ name?: Name$1; /** URL to user's profile image, when provided. */ profileImage?: string | null; /** Date the user joined the team. */ joinedTeamAt?: Date | null; /** Mapping of the user's access to an asset and their assigned role. */ assignments?: AssignmentV3$1[]; } interface AssignmentV3$1 { /** Role assigned to the user. To retrieve all available roles, call Get Roles Info. */ policyId?: string | null; /** * Unique ID for this specific assignment. * @readonly */ assignmentId?: string | null; /** The asset where a user is assigned access in an assignment. When empty, the role covers all assets, with no restrictions to specific sites or folders. */ restrictions?: Restriction$1; /** Identity assigned to the asset in an assignment, referred to as subject. Supported subjects include user IDs, account IDs, and app IDs. */ subject?: AssignedSubject$1; } interface AssignedSubject$1 { /** * Identity ID. * @readonly */ id?: string; /** Identity type. */ subjectType?: SubjectType$1; } interface InviteV3$1 { /** * Invite ID. * @readonly */ id?: string; /** Invitee's email address. */ email?: string | null; /** Invite status. */ status?: InviteStatus$1; /** URL of direct link to accept the invite. */ acceptLink?: string | null; /** Date the invite was created. */ dateCreated?: Date | null; /** Date the invite was last updated. */ dateUpdated?: Date | null; /** A list of assignments that will be applied to the invitees when they accept the invite. */ assignments?: InviteAssignmentV3$1[]; /** Invite expiration date. */ expirationDate?: Date | null; } interface InviteAssignmentV3$1 { /** Role ID that will be assigned once the invite is accepted. */ policyId?: string | null; /** Assets where the user will be assigned access. When empty, the role covers all assets, with no restrictions to specific sites or folders. */ restrictions?: Restriction$1; } declare enum RoleLevelRestriction$1 { NoRestriction = "NoRestriction", Site = "Site", Account = "Account" } declare enum EditorType$1 { UNINITIALIZED = "UNINITIALIZED", EDITORX = "EDITORX", BLOCKS = "BLOCKS", STUDIO = "STUDIO" } interface GetRolesInfoRequest$1 { /** Language of predefined roles names and descriptions to return, in ISO 639 format. Default: `en`. */ locale?: string | null; /** Roles to return. */ filter?: RolesInfoFilter$1; } interface RolesInfoFilter$1 { /** Role level to return. Default: ALL. */ roleLevel?: RoleLevel$1; /** Filter for editor-specific roles. Default: ALL. */ editorTypes?: EditorType$1[]; } interface GetRolesInfoResponse$1 { /** Predefined roles. */ predefinedRoles?: RoleInfo$1[]; /** Custom roles. */ customRoles?: RoleInfo$1[]; } interface RoleInfo$1 { /** Role ID. */ id?: string; /** Role title, translated according to the request locale. If translation fails, the original title is returned. */ title?: string; /** Role description, translated according to the request locale. If translation fails, the original description is returned. */ description?: string; /** Whether this role is restricted from accessing a specific resource type. Default: `NoRestriction`. */ restrictFromLevel?: RoleLevelRestriction$1; } interface UpdateTeamMemberAssignmentsRequest$1 { /** ID of team member being affected. */ userId: string; /** New assignments to apply to the team member in this account. */ newAssignments: AssignmentV3$1[]; /** Existing assignment IDs to remove. To retrieve all existing assignment IDs for a team member, call Search Team. */ assignmentIdsToRemove: string[]; } interface UpdateTeamMemberAssignmentsResponse$1 { /** The new assignments, assigned to the given team member. */ assignments?: AssignmentV3$1[]; } interface FacetValueNonNullableFields$1 { value: string; count: number; } interface FacetNonNullableFields$1 { facetType: FacetType$1; values: FacetValueNonNullableFields$1[]; } interface NameNonNullableFields$1 { firstName: string; lastName: string; } interface ApiResourceNonNullableFields$1 { resourceType: ResourceType$1; id: string; } interface ApiConditionNonNullableFields$1 { conditionType: ConditionAttributeType$1; id: string; } interface ConditionsNonNullableFields$1 { conditions: ApiConditionNonNullableFields$1[]; } interface CompanionResourceNonNullableFields$1 { id: string; resourceType: string; } interface SiteRestrictionNonNullableFields$1 { id: string; resource?: CompanionResourceNonNullableFields$1; } interface RestrictionNonNullableFields$1 { resource?: ApiResourceNonNullableFields$1; conditions?: ConditionsNonNullableFields$1; site?: SiteRestrictionNonNullableFields$1; } interface AssignedSubjectNonNullableFields$1 { id: string; subjectType: SubjectType$1; } interface AssignmentV3NonNullableFields$1 { restrictions?: RestrictionNonNullableFields$1; subject?: AssignedSubjectNonNullableFields$1; } interface UserV3NonNullableFields$1 { id: string; name?: NameNonNullableFields$1; assignments: AssignmentV3NonNullableFields$1[]; } interface InviteAssignmentV3NonNullableFields$1 { restrictions?: RestrictionNonNullableFields$1; } interface InviteV3NonNullableFields$1 { id: string; status: InviteStatus$1; assignments: InviteAssignmentV3NonNullableFields$1[]; } interface TeamMemberV3NonNullableFields$1 { user?: UserV3NonNullableFields$1; invite?: InviteV3NonNullableFields$1; } interface SearchTeamResponseNonNullableFields$1 { facets: FacetNonNullableFields$1[]; teamMembers: TeamMemberV3NonNullableFields$1[]; } interface RoleInfoNonNullableFields$1 { id: string; title: string; description: string; restrictFromLevel: RoleLevelRestriction$1; } interface GetRolesInfoResponseNonNullableFields$1 { predefinedRoles: RoleInfoNonNullableFields$1[]; customRoles: RoleInfoNonNullableFields$1[]; } interface UpdateTeamMemberAssignmentsResponseNonNullableFields$1 { assignments: AssignmentV3NonNullableFields$1[]; } interface Name { /** User's first name. */ firstName?: string; /** User's last name. */ lastName?: string; } interface Restriction extends RestrictionRestrictionsOneOf { /** * Deprecated. * @deprecated */ resource?: ApiResource; /** List of conditions restricting the user's access. Currently only folder conditions are supported. */ conditions?: Conditions; /** Site where the assignment restrictions apply. */ site?: SiteRestriction; } /** @oneof */ interface RestrictionRestrictionsOneOf { /** * Deprecated. * @deprecated */ resource?: ApiResource; /** List of conditions restricting the user's access. Currently only folder conditions are supported. */ conditions?: Conditions; /** Site where the assignment restrictions apply. */ site?: SiteRestriction; } interface ApiResource { /** Resource type. */ resourceType?: ResourceType; /** Resource ID. */ _id?: string; value?: string | null; } declare enum ResourceType { UNKNOWN_RESOURCE_TYPE = "UNKNOWN_RESOURCE_TYPE", SITE = "SITE" } interface Conditions { /** List of conditions. */ conditions?: ApiCondition[]; } interface ApiCondition { /** Condition type. */ conditionType?: ConditionAttributeType; /** Condition ID. */ _id?: string; /** Expected value of the condition. When `conditionType` = "FOLDER", this is the folder path. */ value?: string | null; } declare enum ConditionAttributeType { UNKNOWN_CONDITION_TYPE = "UNKNOWN_CONDITION_TYPE", FOLDER = "FOLDER" } interface SiteRestriction { /** Site ID. */ _id?: string; /** Site name. */ value?: string | null; } declare enum SubjectType { UNKNOWN = "UNKNOWN", ACCOUNT = "ACCOUNT", USER = "USER", USER_GROUP = "USER_GROUP", MEMBER_GROUP = "MEMBER_GROUP", VISITOR_GROUP = "VISITOR_GROUP", EXTERNAL_APP = "EXTERNAL_APP", ACCOUNT_GROUP = "ACCOUNT_GROUP", WIX_APP = "WIX_APP" } interface Paging { /** Number of items to load. */ limit?: number | null; /** Number of items to skip in the current sort order. */ offset?: number | null; } /** Invite status stating whether the invite was accepted, waiting to be accepted, deleted etc.. */ declare enum InviteStatus { Pending = "Pending", Used = "Used", Deleted = "Deleted", Declined = "Declined", Expired = "Expired" } interface RemoveMemberRequest { /** User ID of the team member to remove. */ userId: string; } interface RemoveMemberResponse { } declare enum RoleLevel { ALL = "ALL", SITE_LEVEL = "SITE_LEVEL", ACCOUNT_LEVEL = "ACCOUNT_LEVEL" } interface SearchTeamRequest { /** Free text to search for within team member name and email address fields. */ query?: string | null; /** Sort data. */ orderBy?: Ordering[]; /** * Filter object. Supported values: `inviteType` and `roleId`. For example, `{'inviteType': {'$eq': 'Expired'}}`. * See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more information. */ filter?: Record | null; /** * A list of facets to return in the response. Facets count the items within logical groupings. * See [Filters and Facets: An Explainer](https://medium.com/@westontt/filters-and-facets-an-explainer-3b73a9538eca) for more information. */ facets?: FacetType[]; /** Pagination. */ paging?: Paging; } interface Ordering { /** Field to sort by. */ fieldName?: OrderField; /** Sort order. */ direction?: Direction; } declare enum OrderField { /** For internal use. */ Undefined = "Undefined", /** Team member name. */ Name = "Name", /** Date team member joined the account. */ JoinedAt = "JoinedAt" } declare enum Direction { /** For internal use. */ UninitializedDirection = "UninitializedDirection", /** Ascending. */ ASC = "ASC", /** Descending. */ DESC = "DESC" } declare enum FacetType { Undefined = "Undefined", /** How many team members with each role */ Roles = "Roles", /** How many team members by invite status */ InviteStatus = "InviteStatus", /** How many team members in total in the account */ Users = "Users" } interface SearchTeamResponse { /** List of facets, as requested. */ facets?: Facet[]; /** Existing team members and invites sent to join the account. */ teamMembers?: TeamMemberV3[]; } interface Facet { /** Facet type. */ facetType?: FacetType; /** Values and their counters. Values with count = 0 are not returned. */ values?: FacetValue[]; } interface FacetValue { /** Supported values: `Roles`, `InviteStatus`, `Users`. */ value?: string; /** Number of existing items for the value. */ count?: number; } interface TeamMemberV3 extends TeamMemberV3MembersOneOf { /** Existing team member data. */ user?: UserV3; /** Invited team member data. */ invite?: InviteV3; } /** @oneof */ interface TeamMemberV3MembersOneOf { /** Existing team member data. */ user?: UserV3; /** Invited team member data. */ invite?: InviteV3; } interface UserV3 { /** User ID. */ _id?: string; /** User's email address. */ email?: string | null; /** User's name, when provided. */ name?: Name; /** URL to user's profile image, when provided. */ profileImage?: string | null; /** Date the user joined the team. */ joinedTeamAt?: Date | null; /** Mapping of the user's access to an asset and their assigned role. */ assignments?: AssignmentV3[]; } interface AssignmentV3 { /** Role assigned to the user. To retrieve all available roles, call Get Roles Info. */ policyId?: string | null; /** * Unique ID for this specific assignment. * @readonly */ assignmentId?: string | null; /** The asset where a user is assigned access in an assignment. When empty, the role covers all assets, with no restrictions to specific sites or folders. */ restrictions?: Restriction; /** Identity assigned to the asset in an assignment, referred to as subject. Supported subjects include user IDs, account IDs, and app IDs. */ subject?: AssignedSubject; } interface AssignedSubject { /** * Identity ID. * @readonly */ _id?: string; /** Identity type. */ subjectType?: SubjectType; } interface InviteV3 { /** * Invite ID. * @readonly */ _id?: string; /** Invitee's email address. */ email?: string | null; /** Invite status. */ status?: InviteStatus; /** URL of direct link to accept the invite. */ acceptLink?: string | null; /** Date the invite was created. */ dateCreated?: Date | null; /** Date the invite was last updated. */ dateUpdated?: Date | null; /** A list of assignments that will be applied to the invitees when they accept the invite. */ assignments?: InviteAssignmentV3[]; /** Invite expiration date. */ expirationDate?: Date | null; } interface InviteAssignmentV3 { /** Role ID that will be assigned once the invite is accepted. */ policyId?: string | null; /** Assets where the user will be assigned access. When empty, the role covers all assets, with no restrictions to specific sites or folders. */ restrictions?: Restriction; } declare enum RoleLevelRestriction { NoRestriction = "NoRestriction", Site = "Site", Account = "Account" } declare enum EditorType { UNINITIALIZED = "UNINITIALIZED", EDITORX = "EDITORX", BLOCKS = "BLOCKS", STUDIO = "STUDIO" } interface GetRolesInfoRequest { /** Language of predefined roles names and descriptions to return, in ISO 639 format. Default: `en`. */ locale?: string | null; /** Roles to return. */ filter?: RolesInfoFilter; } interface RolesInfoFilter { /** Role level to return. Default: ALL. */ roleLevel?: RoleLevel; /** Filter for editor-specific roles. Default: ALL. */ editorTypes?: EditorType[]; } interface GetRolesInfoResponse { /** Predefined roles. */ predefinedRoles?: RoleInfo[]; /** Custom roles. */ customRoles?: RoleInfo[]; } interface RoleInfo { /** Role ID. */ _id?: string; /** Role title, translated according to the request locale. If translation fails, the original title is returned. */ title?: string; /** Role description, translated according to the request locale. If translation fails, the original description is returned. */ description?: string; /** Whether this role is restricted from accessing a specific resource type. Default: `NoRestriction`. */ restrictFromLevel?: RoleLevelRestriction; } interface UpdateTeamMemberAssignmentsRequest { /** ID of team member being affected. */ userId: string; /** New assignments to apply to the team member in this account. */ newAssignments: AssignmentV3[]; /** Existing assignment IDs to remove. To retrieve all existing assignment IDs for a team member, call Search Team. */ assignmentIdsToRemove: string[]; } interface UpdateTeamMemberAssignmentsResponse { /** The new assignments, assigned to the given team member. */ assignments?: AssignmentV3[]; } interface FacetValueNonNullableFields { value: string; count: number; } interface FacetNonNullableFields { facetType: FacetType; values: FacetValueNonNullableFields[]; } interface NameNonNullableFields { firstName: string; lastName: string; } interface ApiResourceNonNullableFields { resourceType: ResourceType; _id: string; } interface ApiConditionNonNullableFields { conditionType: ConditionAttributeType; _id: string; } interface ConditionsNonNullableFields { conditions: ApiConditionNonNullableFields[]; } interface CompanionResourceNonNullableFields { _id: string; resourceType: string; } interface SiteRestrictionNonNullableFields { _id: string; resource?: CompanionResourceNonNullableFields; } interface RestrictionNonNullableFields { resource?: ApiResourceNonNullableFields; conditions?: ConditionsNonNullableFields; site?: SiteRestrictionNonNullableFields; } interface AssignedSubjectNonNullableFields { _id: string; subjectType: SubjectType; } interface AssignmentV3NonNullableFields { restrictions?: RestrictionNonNullableFields; subject?: AssignedSubjectNonNullableFields; } interface UserV3NonNullableFields { _id: string; name?: NameNonNullableFields; assignments: AssignmentV3NonNullableFields[]; } interface InviteAssignmentV3NonNullableFields { restrictions?: RestrictionNonNullableFields; } interface InviteV3NonNullableFields { _id: string; status: InviteStatus; assignments: InviteAssignmentV3NonNullableFields[]; } interface TeamMemberV3NonNullableFields { user?: UserV3NonNullableFields; invite?: InviteV3NonNullableFields; } interface SearchTeamResponseNonNullableFields { facets: FacetNonNullableFields[]; teamMembers: TeamMemberV3NonNullableFields[]; } interface RoleInfoNonNullableFields { _id: string; title: string; description: string; restrictFromLevel: RoleLevelRestriction; } interface GetRolesInfoResponseNonNullableFields { predefinedRoles: RoleInfoNonNullableFields[]; customRoles: RoleInfoNonNullableFields[]; } interface UpdateTeamMemberAssignmentsResponseNonNullableFields { assignments: AssignmentV3NonNullableFields[]; } type __PublicMethodMetaInfo = { getUrl: (context: any) => string; httpMethod: K; path: string; pathParams: M; __requestType: T; __originalRequestType: S; __responseType: Q; __originalResponseType: R; }; declare function removeMember(): __PublicMethodMetaInfo<'POST', {}, RemoveMemberRequest, RemoveMemberRequest$1, RemoveMemberResponse, RemoveMemberResponse$1>; declare function searchTeam(): __PublicMethodMetaInfo<'POST', {}, SearchTeamRequest, SearchTeamRequest$1, SearchTeamResponse & SearchTeamResponseNonNullableFields, SearchTeamResponse$1 & SearchTeamResponseNonNullableFields$1>; declare function getRolesInfo(): __PublicMethodMetaInfo<'GET', {}, GetRolesInfoRequest, GetRolesInfoRequest$1, GetRolesInfoResponse & GetRolesInfoResponseNonNullableFields, GetRolesInfoResponse$1 & GetRolesInfoResponseNonNullableFields$1>; declare function updateTeamMemberAssignments(): __PublicMethodMetaInfo<'PATCH', {}, UpdateTeamMemberAssignmentsRequest, UpdateTeamMemberAssignmentsRequest$1, UpdateTeamMemberAssignmentsResponse & UpdateTeamMemberAssignmentsResponseNonNullableFields, UpdateTeamMemberAssignmentsResponse$1 & UpdateTeamMemberAssignmentsResponseNonNullableFields$1>; export { type __PublicMethodMetaInfo, getRolesInfo, removeMember, searchTeam, updateTeamMemberAssignments };