declare type Boolean = boolean;
declare type DateTime = string;
declare type Double = number;
declare type Int = number;
declare type Long = number;
declare type String = string;
declare type Struct = any;
declare type Timestamp = string;
declare type UserGuid = string;
declare type Value = any;
declare type guid = string;
declare type JsonMap<T> = {
    [key: string]: T;
};
export interface AbacAttribute {
    attributeType?: String;
    attributeValue?: String;
}
export interface AcceptAppInviteRequest {
    inviteId?: String;
}
export interface AcceptAppInviteResponse {
    invite?: AppInvite;
}
export interface AcceptInviteRequest {
    inviteId?: String;
}
export interface AcceptInviteResponse {
    invite?: InviteData;
}
export interface AccountPartialPath {
    accountContext?: AccountResourceContext;
    all?: Boolean;
}
export interface AccountPolicyAssignment {
    assignmentId?: String;
    condition?: PolicyCondition;
    policyId?: String;
    site?: String;
    siteRestriction?: Site;
}
export interface AccountResourceContext {
    accountId?: String;
}
export interface AccountResourceContextV2 {
    accountId?: String;
    all?: Boolean;
    allSitesForAccount?: AllSitesForAccount;
}
export interface AccountWithRoles {
    accountId: guid;
    roles: any;
}
export interface ActionsFilter {
    actions?: String[];
}
export interface AddStatementToPolicyRequest {
    policyId?: String;
    policyStatement?: PolicyStatement;
}
export interface AddStatementToPolicyResponse {
    statementId?: String;
}
export interface AllResources {
}
export interface AllSitesForAccount {
    accountId?: String;
}
export interface And {
    conditions: any[];
}
export interface AppInvite {
    acceptedBy?: String;
    acceptedByAccountId?: String;
    appId?: String;
    appName?: String;
    brandDomain?: String;
    dateCreated?: Timestamp;
    dateUpdated?: Timestamp;
    destEmail?: String;
    expirationDate?: Timestamp;
    givenByAccountId?: String;
    givenByUserId?: String;
    id?: String;
    invitePurpose?: String;
    invitedToAccountId?: String;
    policyIds?: String[];
    status?: String;
}
export interface ApplicationError {
    code: String;
    data?: Struct;
    description: String;
    unknownFields: UnknownFieldSet;
}
export interface AssignPoliciesRequest {
    accountId?: String;
    assignments?: SitePolicyAssignment[];
}
export interface AssignPoliciesResponse {
    assignments?: SitePolicyAssignment[];
}
export interface AssignPoliciesToTeamMemberRequest {
    assignments?: AccountPolicyAssignment[];
    teamAccountId?: String;
    userId?: String;
}
export interface AssignPoliciesToTeamMemberResponse {
    assignments?: AccountPolicyAssignment[];
}
export interface AssignPolicyResponse {
    assignmentId?: String;
}
export interface Assignment {
    policyId?: String;
    statements?: Statement[];
}
export interface AssignmentData {
    assignmentId?: String;
    policyId?: String;
    resource?: FullNameResource;
    resourceConditions?: PolicyCondition;
    subject?: Subject;
}
export interface AssignmentUpdateField {
    assignmentCondition?: ConditionUpdate;
    assignmentResource?: ResourceUpdate;
}
export interface AttributeUpdateResourceResult {
    fullNameResource?: FullNameResource;
    result?: UpdateResult;
}
export interface AttributeUpdateWithOperatorResult {
    operator?: AttributesOperator;
    result?: UpdateResult;
}
export interface AttributeValue {
    boolValue?: Boolean;
    stringValue?: String;
}
export interface AttributesOperator {
    exactMatch?: ExactMatch;
    startsWith?: StartsWith;
}
export interface AuthorizationEmptyResponse {
}
export interface AuthorizationRequest {
    metaSiteId?: String;
    permission?: String;
}
export interface AuthorizationResponse {
    isPermitted?: Boolean;
}
export interface AuthorizationSiteOwner {
    metasiteId: guid;
    ownerId: UserGuid;
}
export interface BackOfficeIsPermitted {
    request?: IsPermittedRequest;
    subject?: Subject;
}
export interface BoolValue {
    value: Boolean;
}
export interface BooleanLiteral {
    value: Boolean;
}
export interface BulkActionMetadata {
    totalFailures: Int;
    totalSuccesses: Int;
    undetailedFailures: Int;
    unknownFields: UnknownFieldSet;
}
export interface BulkBackOfficeIsPermittedRequest {
    request?: BulkIsPermittedRequest;
    subject?: Subject;
}
export interface BulkGetPermittedSubjectsCountRequest {
    action?: String;
    fullNameResources?: FullNameResource[];
}
export interface BulkGetPermittedSubjectsCountResponse {
    permittedSubjectsCount?: ResourceContributorCount[];
}
export interface BulkGetSubjectRolesRequest {
    action?: String;
    resourcesFilter?: ResourceFilter[];
    subjects?: Subject[];
}
export interface BulkGetSubjectRolesResponse {
    subjectRoles?: SubjectRoles[];
}
export interface BulkIsPermittedRequest {
    permission?: String;
    resources?: IsPermittedResource[];
}
export interface BulkIsPermittedResponse {
    resourcesIsPermitted?: ResourceIsPermitted[];
}
export interface BulkIsPolicyAssignedRequest {
    policyIds?: String[];
}
export interface BulkIsPolicyAssignedResponse {
    policiesAssigned?: IsPolicyAssigned[];
}
export interface BulkOverrideSubjectPoliciesRequest {
    subjectAssignments?: SubjectAssignments[];
}
export interface BulkOverrideSubjectPoliciesResponse {
    bulkActionMetadata?: BulkActionMetadata;
    results?: BulkSubjectPoliciesResult[];
}
export interface BulkResourceAttributeUpdateRequest {
    fullNameResources?: FullNameResource[];
    updateEvent?: ResourceAttributeUpdateEvent;
}
export interface BulkResourceAttributeUpdateResponse {
    resourceUpdateResults?: AttributeUpdateResourceResult[];
}
export interface BulkSubjectBackOfficeIsPermittedRequest {
    request?: IsPermittedRequest;
    subjects?: Subject[];
}
export interface BulkSubjectIsPermittedResponse {
    subjectsIsPermitted?: SubjectIsPermitted[];
}
export interface BulkSubjectPoliciesResult {
    itemMetadata?: ItemMetadata;
    subjectAssignments?: SubjectAssignments;
}
export interface BulkUpdateResourcesWithAttributeRequest {
    operators?: AttributesOperator[];
    replacementAttributeValue?: String;
}
export interface BulkUpdateResourcesWithAttributeResponse {
    operatorUpdateResults?: AttributeUpdateWithOperatorResult[];
}
export interface ByPermissions {
    permission?: String[];
}
export interface ChangeInvitePoliciesRequest {
    inviteId?: String;
    policies?: String[];
}
export interface ChangePolicyOwnerRequest {
    policyId?: String;
    policyOwnerId?: String;
    policyOwnerType?: String;
}
export interface ChangePolicyOwnerResponse {
}
export interface ClearAssignedAppPoliciesRequest {
    accountId?: String;
    appId?: String;
}
export interface ClearAssignedAppPoliciesResponse {
    deletedAssignmentIds?: String[];
}
export interface ClearAssignedPoliciesRequest {
    accountId?: String;
}
export interface ClearAssignedPoliciesResponse {
    assignmentsCount?: Int;
}
export interface ClearTeamMemberPoliciesRequest {
    teamAccountId?: String;
    userId?: String;
}
export interface ClearTeamMemberPoliciesResponse {
    assignmentsCount?: Int;
}
export declare enum ConditionAttributeType {
    UNKNOWN_CONDITION_TYPE = "UNKNOWN_CONDITION_TYPE",
    FOLDER = "FOLDER"
}
export interface ConditionOperator {
    dependOn?: DependOnOperator;
    equals?: EqualOperator;
    experiment?: ExperimentOperator;
    like?: LikeOperator;
}
export interface ConditionType {
    condition?: ManagementCondition;
    environmentCondition?: EnvironmentCondition;
    joinedConditions?: JoinedCondition;
    simpleCondition?: SimpleCondition;
}
export interface ConditionUpdate {
    condition?: PolicyCondition;
    noCondition?: NoCondition;
}
export interface ConditionValue {
    attrName?: String;
    boolValue?: Boolean;
    stringValue?: String;
}
export declare enum ConsistencyLevel {
    WEAK = "WEAK",
    STRONG = "STRONG"
}
export interface Contributor {
    id?: String;
}
export interface ContributorLimit {
    leftInvites: Int;
    limit: Int;
}
export interface CreateAppInviteRequest {
    invite?: AppInvite;
}
export interface CreateAppInviteResponse {
    invite?: AppInvite;
}
export interface CreateInviteRequest {
    assignments?: ServiceInviteResourceAssignment[];
    brandDomain?: String;
    destEmail?: String;
    givenByAccountId?: String;
    givenById?: String;
    invitePurpose?: String;
    invitedToAccountId?: String;
    policies?: String[];
}
export interface CreateInviteResponse {
    invite?: InviteData;
}
export interface CreatePolicyRequest {
    policy?: Policy;
}
export interface CreatePolicyResponse {
    policy?: Policy;
}
export interface CustomResource {
    all?: Boolean;
    resource?: Resource;
}
export interface DeleteAccountInviteRequest {
    inviteId?: String;
    mailAndAccount?: MailAndAccountId;
}
export interface DeleteAccountInvitesRequest {
    accountId?: String;
    hardDelete?: Boolean;
}
export interface DeleteAppInviteRequest {
    inviteId?: String;
}
export interface DeleteAppInviteResponse {
}
export interface DeleteAssignmentsRequest {
    assignmentIds?: String[];
}
export interface DeleteAssignmentsResponse {
    deletedAssignmentIds?: String[];
}
export interface DeleteAttributesByTenantRequest {
    attributeType?: String;
    tenant?: String;
}
export interface DeleteInviteRequest {
    inviteId?: String;
}
export interface DeletePolicyRequest {
    policyId?: String;
}
export interface DeletePolicyResponse {
    deleted?: Boolean;
}
export interface DeletePolicyStatementRequest {
    statementId?: String;
}
export interface DeletePolicyStatementResponse {
    deleted?: Boolean;
    policy?: Policy;
}
export interface DeleteTeamMemberAssignmentsRequest {
    assignmentIds?: String[];
}
export interface DeleteTeamMemberAssignmentsResponse {
    assignmentsCount?: Int;
}
export interface DependOnOperator {
    dependOnSubject?: Subject;
}
export interface DevAssignPolicyRequest {
    contextKeys?: JsonMap<string>;
    policyId?: String;
    subject?: Subject;
}
export interface DevEmptyResponse {
}
export interface DevPolicyPermissions {
    flattenedPermissions?: String[];
    globalScopes?: String[];
    missingPermissionsInRoleFromFlattened?: String[];
    missingPermissionsInRoleFromScopes?: String[];
    missingPermissionsInScopes?: String[];
    otherScopes?: String[];
    policyId?: String;
    rolePermissions?: String[];
    scopesPermissions?: String[];
}
export declare enum Effect {
    UNKNOWN_EFFECT = "UNKNOWN_EFFECT",
    ALLOW = "ALLOW",
    DENY = "DENY"
}
export interface EnvironmentCondition {
    experimentCondition?: ExperimentCondition;
}
export interface EqAttr {
    id: String;
    left: ModelAttribute;
    right: ModelAttribute;
}
export interface EqLiteral {
    id: String;
    left: ModelAttribute;
    right: any;
}
export interface EqualOperator {
    attrName?: String;
    value?: ConditionValue;
}
export interface ExactMatch {
    attribute?: AbacAttribute;
}
export interface ExperimentCondition {
    expectedValue?: String;
    fallbackValue?: String;
    spec?: String;
}
export interface ExperimentOperator {
    expectedValue?: String;
    fallbackValue?: String;
    spec?: String;
}
export interface Field {
    fixed32: Int[];
    fixed64: Long[];
    lengthDelimited: any[];
    varint: Long[];
}
export interface FieldMask {
    paths?: String[];
}
export interface FilterPoliciesRequest {
    byPermissions?: ByPermissions;
    fromPolicyIds?: String[];
}
export interface FilterPoliciesResponse {
    permissionFilteredPolicies?: PermissionsFilteredPolicies;
}
export interface FixTeamMemberAssignmentsRequest {
    accountId?: String;
    userId?: String;
}
export interface FoldExperimentRequest {
    policyId?: String;
    spec?: String;
    winningValue?: String;
}
export interface FoldExperimentResponse {
}
export interface ForceDeleteAssignmentsRequest {
    assignmentIds?: String[];
}
export interface ForceDeleteAssignmentsResponse {
    isDeleted?: Boolean;
}
export interface FullNameResource {
    accountContext?: AccountResourceContext;
    organizationContext?: OrganizationResourceContext;
    resource?: Resource;
    siteContext?: SiteResourceContext;
}
export interface GetAppInviteRequest {
    inviteId?: String;
}
export interface GetAppInviteResponse {
    invite?: AppInvite;
}
export interface GetAppInvitesRequest {
    acceptedByAccountIds?: String[];
    appId?: String;
    statuses?: String[];
}
export interface GetAppInvitesResponse {
    invites?: AppInvite[];
}
export interface GetAssignmentsRequest {
    assignmentIds?: String[];
}
export interface GetAssignmentsResponse {
    assignments?: AssignmentData[];
}
export interface GetAttributesRequest {
    attributeType?: String;
    fullNameResource?: FullNameResource;
}
export interface GetAttributesResponse {
    attributes?: AbacAttribute[];
}
export interface GetBulkSubjectPoliciesBySubjectContextRequest {
    subjects?: Subject[];
}
export interface GetBulkSubjectPoliciesBySubjectContextResponse {
    subjectPolicies?: SubjectPolicies[];
}
export interface GetContainedPoliciesRequest {
    fromPolicyIds?: String[];
    inPolicyIds?: String[];
}
export interface GetContainedPoliciesResponse {
    policyIds?: String[];
}
export interface GetCurrentSubjectContainedPoliciesRequest {
    policyIds?: String[];
    resourceFilter?: ResourceFilter;
}
export interface GetCurrentSubjectContainedPoliciesResponse {
    policyIds?: String[];
}
export interface GetCurrentSubjectPermissionsOnResourceRequest {
    context?: ResourceContext;
    resource?: Resource;
}
export interface GetCurrentSubjectPermissionsOnResourceResponse {
    permissions?: String[];
}
export interface GetCurrentSubjectPermissionsOnResourcesRequest {
    consistencyLevel?: ConsistencyLevel;
    filter?: PermissionsFilter;
    resourceWithOwner?: ResourceWithOwner[];
}
export interface GetCurrentSubjectPermissionsOnResourcesResponse {
    resourcePermissions?: ResourcePermissions[];
}
export interface GetInviteRequest {
    inviteId?: String;
}
export interface GetInviteResponse {
    invite?: InviteData;
}
export interface GetInvitesByAccountRequest {
    accountId?: String;
}
export interface GetInvitesByAccountResponse {
    invites?: InviteData[];
}
export interface GetPermissionsRequest {
    role?: String;
}
export interface GetPermissionsResponse {
    permissions?: LegacyPermission[];
}
export interface GetPermittedSubjectsRolesRequest {
    exceptPolicies?: String[];
    inSpecificAccount?: String;
    paging?: Paging;
    resource?: FullNameResource;
    resourceAttributes?: JsonMap<AttributeValue>;
    subjectTypes?: SubjectTypesFilter;
}
export interface GetPermittedSubjectsRolesResponse {
    subjectAssignments?: SubjectAssignment[];
}
export interface GetPermittedSubjectsStatementsRequest {
    action?: String;
    fullNameResource?: FullNameResource;
    inSpecificAccount?: String;
    paging?: Paging;
    resourceAttributes?: JsonMap<AttributeValue>;
}
export interface GetPermittedSubjectsStatementsResponse {
    subjects?: SubjectView[];
}
export interface GetPoliciesApplicableRestrictionsRequest {
    policyIds?: String[];
}
export interface GetPoliciesApplicableRestrictionsResponse {
    policyRestrictions?: PolicyRestrictions[];
}
export interface GetPoliciesAssignedOnResourceFilter {
    policyIds?: String[];
}
export interface GetPoliciesAssignedOnResourceRequest {
    filter?: GetPoliciesAssignedOnResourceFilter;
    resource?: ResourceContext;
}
export interface GetPoliciesAssignedOnResourceResponse {
    subjectAssignments?: SubjectAssignment[];
}
export interface GetPoliciesMissingSubPoliciesPermissionsRequest {
    notifyEmails?: String[];
}
export interface GetPoliciesMissingSubPoliciesPermissionsResponse {
    policiesMissingPermissions?: PolicyMissingPermissions[];
}
export interface GetPoliciesPermissionsRequest {
    policyIds?: String[];
}
export interface GetPoliciesPermissionsResponse {
    policiesPermissions?: QueryPolicyPermissions[];
}
export interface GetPoliciesScopeDiffsRequest {
    policyIds?: String[];
}
export interface GetPoliciesScopesDiffResponse {
    policiesPermissions?: DevPolicyPermissions[];
}
export interface GetRestrictedSubjectsRequest {
    metaSiteIds?: String[];
}
export interface GetRestrictedSubjectsResponse {
    siteRestrictedSubjects?: SiteRestrictedSubjects[];
}
export interface GetRestrictionsRequest {
    resources?: RestrictedResource[];
    subject?: Subject;
}
export interface GetRestrictionsResponse {
    restrictions?: RestrictedResource[];
}
export interface GetSubjectAssignedPoliciesRequest {
    subject?: Subject;
}
export interface GetSubjectAssignedPoliciesResponse {
    policiesAssignedOnResources?: RolesOnResource[];
}
export interface GetSubjectPermissionsOnResourceRequest {
    context?: ResourceContext;
    resource?: Resource;
    subject?: Subject;
}
export interface GetSubjectPermissionsOnResourceResponse {
    permissions?: String[];
}
export interface GetSubjectPermittedResourcesRequest {
    action?: String;
    paging?: Paging;
    resourceAttributes?: JsonMap<AttributeValue>;
    resourcesFilter?: ResourceFilter[];
}
export interface GetSubjectPermittedResourcesResponse {
    resources?: PermittedResource[];
}
export interface GetSubjectPermittingAssignmentsRequest {
    actionsFilter?: ActionsFilter;
    consistencyLevel?: ConsistencyLevel;
    paging?: Paging;
    resourcesFilter?: ResourceFilter[];
}
export interface GetSubjectPermittingAssignmentsResponse {
    resources?: ResourceAssignment[];
}
export interface GetSubjectPoliciesBySubjectContextRequest {
    subject?: Subject;
}
export interface GetSubjectPoliciesBySubjectContextResponse {
    policies?: PolicyData[];
}
export interface GetSubjectPoliciesOnCurrentAccountRequest {
}
export interface GetSubjectPoliciesOnCurrentAccountResponse {
    policies?: PolicyData[];
}
export interface GetSubjectRolesRequest {
    resourcesFilter?: ResourceFilter[];
}
export interface GetSubjectRolesResponse {
    rolesOnResources?: RolesOnResource[];
}
export interface HardDeleteStatementRequest {
    statementId?: String;
}
export interface HardDeleteStatementResponse {
    success?: Boolean;
}
export interface ImplicitIsPermittedRequest {
    permission?: String;
}
export interface Invite {
    acceptedBy?: UserGuid;
    acceptedByAccount?: any;
    assignments: InviteInviteResourceAssignment[];
    brandDomain: String;
    dateUpdated: DateTime;
    expirationDate: DateTime;
    givenByAccountId: any;
    givenById: UserGuid;
    givenToEmail: String;
    inviteId: any;
    invitePurpose?: String;
    invitedToAccountId: any;
    metasiteId: any;
    policyIds: String[];
    roles: any;
    staffId?: guid;
    status: Value;
}
export interface InviteAccount {
    account: String;
    resource?: InviteAssignmentResource;
}
export interface InviteAssignmentResource {
    resourceId: String;
    resourceType: String;
}
export interface InviteData {
    acceptedBy?: String;
    acceptedByAccountId?: String;
    assignments?: ServiceInviteResourceAssignment[];
    brandDomain?: String;
    dateCreated?: Timestamp;
    dateUpdated?: Timestamp;
    destEmail?: String;
    expirationDate?: Timestamp;
    givenByAccountId?: String;
    givenById?: String;
    inviteId?: String;
    invitedToAccountId?: String;
    policyIds?: String[];
    status?: String;
}
export interface InviteFilter {
    acceptedByAccount: any[];
}
export interface InviteFullNameResource {
    account?: InviteAccount;
    site?: InviteSite;
}
export interface InviteInviteAssignment {
    condition?: any;
    resource: InviteFullNameResource;
}
export interface InviteInviteResourceAssignment {
    assignments: InviteInviteAssignment[];
    policyId: String;
}
export interface InviteReq {
    destEmail: String;
    destUser?: UserGuid;
    givenById: UserGuid;
    inviteBrand?: String;
    inviteLocationRestrictions?: String[];
    invitePurpose?: String;
    metaSiteId: any;
    policyIds: String[];
    roles: any;
    staffId?: guid;
}
export interface InviteSite {
    resource?: InviteAssignmentResource;
    site: String;
}
export interface IsPermittedByAppInstanceRequest {
    appInstance?: String;
    permission?: String;
}
export interface IsPermittedRequest {
    customAttributes?: JsonMap<AttributeValue>;
    permission?: String;
    resourceContext?: ResourceContext;
    resourceId?: String;
}
export interface IsPermittedResource {
    customAttributes?: JsonMap<AttributeValue>;
    resourceContext?: ResourceContext;
    resourceId?: String;
}
export interface IsPermittedResponse {
    isPermitted?: Boolean;
}
export interface IsPolicyAssigned {
    assigned?: Boolean;
    policyId?: String;
}
export interface ItemMetadata {
    error?: ApplicationError;
    id?: String;
    originalIndex: Int;
    success: Boolean;
    unknownFields: UnknownFieldSet;
}
export interface JoinedCondition {
    conditions?: ConditionType[];
    op?: JoinedConditionOperator;
}
export declare enum JoinedConditionOperator {
    UNKNOWN_JOIN_OP = "UNKNOWN_JOIN_OP",
    OR = "OR",
    AND = "AND"
}
export interface KindListValue {
    value: StructListValue;
}
export interface LegacyPermission {
    action?: String;
    scope?: String;
}
export interface Like {
    id: String;
    left: ModelAttribute;
    right: String[];
}
export interface LikeOperator {
    attrName?: String;
    values?: String[];
}
export interface MailAndAccountId {
    accountId?: String;
    mail?: String;
}
export interface ManagementAssignPolicyRequest {
    condition?: PolicyCondition;
    policyId?: String;
    resource?: Resource;
    resourceContext?: ResourceContext;
    subject?: Subject;
}
export interface ManagementCondition {
    conditionModelId?: String;
    operator?: ConditionOperator;
}
export interface ManagementGetPoliciesRequest {
}
export interface ManagementGetPoliciesResponse {
    policies?: Policy[];
}
export interface ManagementGetPolicyRequest {
    policyId?: String;
}
export interface ManagementGetPolicyResponse {
    policy?: Policy;
}
export interface MigrateInviteRequest {
    inviteId?: String;
}
export interface MissingPermissions {
    permissions?: String[];
    policyId?: String;
}
export interface ModelAttribute {
    name: String;
}
export interface NoCondition {
}
export interface NullValue {
    value: any;
}
export interface NumberValue {
    value: Double;
}
export interface Or {
    conditions: any[];
}
export interface OrganizationPartialPath {
    all?: Boolean;
    organizationContext?: OrganizationResourceContext;
}
export interface OrganizationResourceContext {
}
export interface Paging {
    limit?: Int;
    offset?: Int;
    unknownFields: UnknownFieldSet;
}
export interface PermissionPolicies {
    permission?: String;
    policyIds?: String[];
}
export interface PermissionsFilter {
    byPermissions?: ByPermissions;
}
export interface PermissionsFilteredPolicies {
    permissionPolicies?: PermissionPolicies[];
}
export interface PermittedResource {
    resource?: ResourceResponse;
    resourceConditions?: PolicyCondition[];
}
export interface Policy {
    description?: String;
    id?: String;
    name?: String;
    policyType?: PolicyType;
    statements?: PolicyStatement[];
    status?: String;
}
export interface PolicyAssignment {
    assignedAt?: Timestamp;
    assignmentId?: String;
    condition?: PolicyCondition;
    policyDescription?: String;
    policyId?: String;
    policyName?: String;
    resource?: Resource;
    subject?: Subject;
}
export interface PolicyCondition {
    condition?: ConditionType;
}
export interface PolicyData {
    permissions?: String[];
    policyId?: String;
    policyName?: String;
}
export interface PolicyMissingPermissions {
    missingPermissions?: MissingPermissions[];
    policyId?: String;
}
export interface PolicyRestrictions {
    conditions?: ConditionAttributeType[];
    policyId?: String;
    resourceTypes?: ResourceType[];
}
export interface PolicyStatement {
    condition?: PolicyCondition;
    effect?: Effect;
    id?: String;
    permissions?: String[];
    scopes?: String[];
}
export declare enum PolicyType {
    UNKNOWN_STATUS = "UNKNOWN_STATUS",
    PREDEFINED = "PREDEFINED",
    CUSTOM = "CUSTOM",
    INLINE_CUSTOM = "INLINE_CUSTOM"
}
export interface QueryCondition {
    condition?: PolicyCondition;
}
export interface QueryGetPoliciesRequest {
    actionsFilter?: PermissionsFilter;
    mask?: FieldMask;
    type?: PolicyType;
}
export interface QueryGetPoliciesResponse {
    policies?: Policy[];
}
export interface QueryGetPolicyRequest {
    policyId?: String;
}
export interface QueryGetPolicyResponse {
    policy?: Policy;
}
export interface QueryPolicyPermissions {
    permissions?: String[];
    policyId?: String;
}
export interface ReplaceAllAssignedPoliciesConditionRequest {
    accountId?: String;
    condition?: PolicyCondition;
}
export interface ReplaceAllAssignedPoliciesConditionResponse {
    createdAssignments?: SitePolicyAssignment[];
}
export interface ReplaceAllAssignedPoliciesRequest {
    accountId?: String;
    newAssignments?: SitePolicyAssignment[];
}
export interface ReplaceAllAssignedPoliciesResponse {
    createdAssignments?: SitePolicyAssignment[];
}
export interface ReplaceAllTeamMemberPoliciesRequest {
    newAssignments?: AccountPolicyAssignment[];
    teamAccountId?: String;
    userId?: String;
}
export interface ReplaceAllTeamMemberPoliciesResponse {
    createdAssignments?: AccountPolicyAssignment[];
}
export interface ReplaceTeamMemberPoliciesRequest {
    assignmentIdsToReplace?: String[];
    newAssignments?: AccountPolicyAssignment[];
    teamAccountId?: String;
    userId?: String;
}
export interface ReplaceTeamMemberPoliciesResponse {
    createdAssignments?: AccountPolicyAssignment[];
}
export interface ResetAppInviteRequest {
    inviteId?: String;
}
export interface ResetAppInviteResponse {
    invite?: AppInvite;
}
export interface ResetInviteRequest {
    inviteId?: String;
}
export interface ResetInviteResponse {
    invite?: InviteData;
}
export interface Resource {
    id?: String;
    type?: String;
}
export interface ResourceAssignment {
    assignments?: Assignment[];
    resource?: ResourceResponse;
}
export interface ResourceAttributeUpdate {
    fullNameResource?: FullNameResource;
    updateEvent?: ResourceAttributeUpdateEvent;
}
export interface ResourceAttributeUpdateEvent {
    setAttribute?: SetAttribute;
    unsetAttribute?: UnsetAttribute;
    updateAttribute?: UpdateAttribute;
}
export interface ResourceContext {
    accountContext?: AccountResourceContext;
    accountContextV2?: AccountResourceContextV2;
    organizationContext?: OrganizationResourceContext;
    siteContext?: SiteResourceContext;
}
export interface ResourceContributorCount {
    resource?: FullNameResource;
    subjects?: Int;
}
export interface ResourceEntity {
    resourceConditions?: QueryCondition[];
}
export interface ResourceFilter {
    accountResourceContext?: AccountResourceContext;
    organizationContext?: OrganizationResourceContext;
    resource?: Resource;
    resourceAttributes?: JsonMap<AttributeValue>;
    siteContext?: SiteResourceContext;
}
export interface ResourceIsPermitted {
    isPermitted?: Boolean;
    resource?: IsPermittedResource;
}
export interface ResourcePermissions {
    context?: ResourceContext;
    permissions?: String[];
}
export interface ResourceResponse {
    accountContext?: AccountPartialPath;
    organizationContext?: OrganizationPartialPath;
    resource?: CustomResource;
    siteContext?: SitePartialPath;
}
export declare enum ResourceType {
    UNKNOWN_RESOURCE_TYPE = "UNKNOWN_RESOURCE_TYPE",
    SITE = "SITE"
}
export interface ResourceUpdate {
    allResources?: AllResources;
    resource?: Resource;
}
export interface ResourceWithOwner {
    context?: ResourceContext;
    ownerId?: String;
}
export interface RestrictedResource {
    resource?: ResourceContext;
}
export interface RestrictedSubject {
    contributor?: Contributor;
    restrictedTeamMember?: RestrictedTeamMember;
}
export interface RestrictedTeamMember {
    accountId?: String;
    id?: String;
}
export interface Role {
    role: String;
}
export interface RolesOnResource {
    resource?: ResourceResponse;
    roles?: PolicyAssignment[];
}
export interface RunSingleMigrationRequest {
    customParam?: String[];
    input?: String;
}
export interface RunSingleMigrationResponse {
    result?: String;
    skipped?: Boolean;
}
export interface ServiceEmptyResponse {
}
export interface ServiceInviteAssignment {
    condition?: PolicyCondition;
    fullNameResource?: FullNameResource;
}
export interface ServiceInviteResourceAssignment {
    assignments?: ServiceInviteAssignment[];
    policyId?: String;
}
export interface SetAttribute {
    attribute?: AbacAttribute;
}
export interface SimpleCondition {
    attrName?: String;
    conditionModelId?: String;
    op?: SimpleConditionOperator;
    value?: SimpleConditionValue;
}
export declare enum SimpleConditionOperator {
    UNKNOWN_SIMPLE_OP = "UNKNOWN_SIMPLE_OP",
    EQUAL = "EQUAL"
}
export interface SimpleConditionValue {
    attrName?: String;
    boolValue?: Boolean;
    stringValue?: String;
}
export interface Site {
    id?: String;
    resource?: Resource;
}
export interface SiteAccountsWithRoles {
    accountWithRoles: AccountWithRoles[];
    resourceId: String;
}
export interface SitePartialPath {
    all?: Boolean;
    siteContext?: SiteResourceContext;
}
export interface SitePolicyAssignment {
    assignmentId?: String;
    condition?: PolicyCondition;
    policyId?: String;
}
export interface SiteResourceContext {
    metasiteId?: String;
}
export interface SiteRestrictedSubjects {
    metaSiteId?: String;
    subjects?: RestrictedSubject[];
}
export interface SiteUsersWithRoles {
    resourceId: String;
    userWithRoles: UserWithRoles[];
}
export interface StartsWith {
    attribute?: AbacAttribute;
}
export interface Statement {
    actions?: String[];
    resourceConditions?: PolicyCondition[];
    scopes?: String[];
}
export interface StringLiteral {
    value: String;
}
export interface StringValue {
    value: String;
}
export interface StructListValue {
    unknownFields: UnknownFieldSet;
    values: Value[];
}
export interface StructValue {
    value: Struct;
}
export interface Subject {
    context?: SubjectContext;
    id?: String;
    subjectType?: SubjectType;
}
export interface SubjectAssignment {
    policies?: PolicyAssignment[];
    subject?: Subject;
}
export interface SubjectAssignments {
    assignments?: AccountPolicyAssignment[];
    subject?: Subject;
}
export interface SubjectContext {
    contextType?: SubjectContextType;
    id?: String;
}
export declare enum SubjectContextType {
    UNKNOWN_CTX = "UNKNOWN_CTX",
    ORG_CTX = "ORG_CTX",
    ACCOUNT_CTX = "ACCOUNT_CTX"
}
export interface SubjectIsPermitted {
    isPermitted?: Boolean;
    subject?: Subject;
}
export interface SubjectPolicies {
    policies?: PolicyData[];
    subject?: Subject;
}
export interface SubjectRoles {
    rolesOnResources?: RolesOnResource[];
    subject?: Subject;
}
export 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"
}
export interface SubjectTypesFilter {
    subjectTypes?: SubjectType[];
}
export interface SubjectView {
    resourceEntities?: ResourceEntity[];
    subject?: Subject;
}
export interface TriggerGdprDeleteUserDataRequest {
    requestId?: String;
    userGuid?: String;
}
export interface TriggerGdprDeleteUserDataResponse {
}
export interface UnassignPolicyFromSubjectRequest {
    policyId?: String;
    resource?: Resource;
    resourceContext?: ResourceContext;
    subject?: Subject;
}
export interface UnassignPolicyFromSubjectResponse {
    assignmentsCount?: Int;
}
export interface UnknownFieldSet {
    fields$access$0: JsonMap<Field>;
}
export interface UnsetAttribute {
    attribute?: AbacAttribute;
}
export interface UpdateAssignmentRequest {
    assignmentFields?: AssignmentUpdateField[];
    assignmentId?: String;
}
export interface UpdateAssignmentResponse {
}
export interface UpdateAttribute {
    newAttribute?: AbacAttribute;
    oldAttribute?: AbacAttribute;
}
export interface UpdateFailure {
    errorMessage?: String;
}
export interface UpdateInviteAssignmentsRequest {
    assignments?: ServiceInviteResourceAssignment[];
    inviteId?: String;
}
export interface UpdatePoliciesOnSiteTransferRequest {
    keepOriginalOwnerAsContributor?: Boolean;
    metaSiteId?: String;
    newOwnerAccountId?: String;
    originalOwnerAccountId?: String;
}
export interface UpdatePoliciesOnSiteTransferResponse {
}
export interface UpdatePolicyAuthorizationDataRequest {
    policyId?: String;
    policyStatements?: PolicyStatement[];
}
export interface UpdatePolicyMetadataRequest {
    description?: String;
    name?: String;
    policyId?: String;
    status?: String;
}
export interface UpdatePolicyResponse {
    policy?: Policy;
    updated?: Boolean;
}
export interface UpdateResourcesWithAttributeMessage {
    operator?: AttributesOperator;
    replacementAttributeValue?: String;
}
export interface UpdateResult {
    failure?: UpdateFailure;
    success?: UpdateSuccess;
}
export interface UpdateSiteContextAssignmentsRequest {
    metaSiteId?: String;
    oldOwnerId?: String;
}
export interface UpdateSiteContextAssignmentsResponse {
    resultsInfo?: String;
}
export interface UpdateSuccess {
}
export interface UserWithRoles {
    roles: any;
    userId: UserGuid;
}
export {};
