type StringOrListOfStrings = string | string[]; interface EgressPermissionAddress { address: string; } type FetchBackendOrClient = StringOrListOfStrings | EgressPermissionAddress | (StringOrListOfStrings | EgressPermissionAddress)[]; interface DisplayConditionsExternal { fetch?: { backend?: FetchBackendOrClient; client?: FetchBackendOrClient; }; fonts?: StringOrListOfStrings; frames?: StringOrListOfStrings; images?: StringOrListOfStrings; media?: StringOrListOfStrings; scripts?: StringOrListOfStrings; styles?: StringOrListOfStrings; } interface DisplayConditionsPermissions { scopes?: StringOrListOfStrings; external?: DisplayConditionsExternal; } type Product = { isAdmin?: boolean; isLoggedIn?: boolean; isSiteAdmin?: boolean; hasAppAccess?: boolean; appIsLicensed?: boolean; appEdition?: AppEditionType; permissions?: DisplayConditionsPermissions; }; type Jira = Product & TimeTrackingProviderProperties & EntityPropertyConditionsProperties & { hasSoftwareAccess?: boolean; hasServiceDeskAccess?: boolean; hasServiceManagementAccess?: boolean; hasCoreAccess?: boolean; hasGlobalPermission?: string; jiraExpression?: string; }; interface TimeTrackingProviderEnabled { key: string; } interface TimeTrackingProviderProperties { jiraTimeTrackingProviderEnabled?: boolean; timeTrackingProviderEnabled?: TimeTrackingProviderEnabled; } interface EntityPropertyConditionsProperties { entityPropertyExists?: EntityPropertyExists; entityPropertyEqualTo?: EntityPropertyEqualTo; entityPropertyContainsAny?: EntityPropertyContainsAny; entityPropertyContainsAll?: EntityPropertyContainsAll; } type IssueView = Jira & ProjectPermissionProperties & ProjectProperties & { issueKey?: StringOrListOfStrings; issueId?: StringOrListOfStrings; issueType?: StringOrListOfStrings; hasIssuePermission?: string; }; type ProjectView = Jira & ProjectPermissionProperties & ProjectProperties; type ProjectProperties = { projectKey?: StringOrListOfStrings; projectId?: StringOrListOfStrings; projectType?: StringOrListOfStrings; projectName?: StringOrListOfStrings; isProjectAdmin?: boolean; isProjectArchived?: boolean; }; type ProjectPermissionProperties = { hasProjectPermission?: string; canAddComments?: boolean; canAdministerJira?: boolean; canAdministerProjects?: boolean; canAssignIssues?: boolean; canBeAssignedToIssues?: boolean; canCloneIssues?: boolean; canCreateAttachments?: boolean; canCreateChildren?: boolean; canCreateSubtasks?: boolean; canDeleteAllAttachments?: boolean; canDeleteAllComments?: boolean; canDeleteAllWorklogs?: boolean; canDeleteIssues?: boolean; canDeleteOwnAttachments?: boolean; canDeleteOwnComments?: boolean; canDeleteOwnWorklogs?: boolean; canEditAllComments?: boolean; canEditAllWorklogs?: boolean; canEditIssues?: boolean; canEditOwnComments?: boolean; canEditOwnWorklogs?: boolean; canLinkIssues?: boolean; canLogWork?: boolean; canManageWatchers?: boolean; canModifyReporters?: boolean; canMoveIssues?: boolean; canScheduleIssues?: boolean; canUseServiceManagementAgentFeatures?: boolean; canBrowseUsers?: boolean; canViewDevTools?: boolean; canViewWatchers?: boolean; }; declare enum EntityType { Space = "space", Content = "content", Issue = "issue", IssueType = "issueType", Project = "project", App = "app", User = "user", Attachment = "attachment" } interface EntityPropertyExists { entity: EntityType; propertyKey: string; objectName?: string; } interface EntityPropertyEqualTo extends EntityPropertyExists { value: string; } interface EntityPropertyContainsAny extends EntityPropertyExists { value: StringOrListOfStrings; } interface EntityPropertyContainsAll extends EntityPropertyExists { value: StringOrListOfStrings; } interface EntityPropertyExistsItem { entityPropertyExists: EntityPropertyExists; } interface EntityPropertyEqualToItem { entityPropertyEqualTo: EntityPropertyEqualTo; } interface EntityPropertyContainsAnyItem { entityPropertyContainsAny: EntityPropertyContainsAny; } interface EntityPropertyContainsAllItem { entityPropertyContainsAll: EntityPropertyContainsAll; } interface EntityPropertyContainsAnyUserGroupItem { entityPropertyContainsAnyUserGroup: EntityPropertyExists; } type EntityPropertyCondition = EntityPropertyExistsItem | EntityPropertyEqualToItem | EntityPropertyContainsAnyItem | EntityPropertyContainsAllItem | EntityPropertyContainsAnyUserGroupItem; declare enum AppEditionType { Free = "free", Standard = "standard", Advanced = "advanced" } declare enum ConfluenceContentPermission { View = "VIEW", Edit = "EDIT", SetPermissions = "SET_PERMISSIONS", Remove = "REMOVE", Export = "EXPORT", Administer = "ADMINISTER" } type ConfluenceSpecificProperties = Product & { isSpaceAdmin?: boolean; userIsExternalCollaborator?: boolean; hasSpacePermission?: ConfluenceContentPermission; hasPagePermission?: ConfluenceContentPermission; }; type Confluence = ConfluenceSpecificProperties | (ConfluenceSpecificProperties & EntityPropertyCondition) | EntityPropertyCondition[]; export type DisplayConditions = { operations?: ('and' | 'or' | 'not')[]; modules: { 'jira:issuePanel'?: IssueView; 'jira:issueActivity'?: IssueView; 'jira:issueAction'?: IssueView; 'jira:issueGlance'?: IssueView; 'jira:issueContext'?: IssueView; 'jira:customField'?: IssueView; 'jira:dashboardGadget'?: Jira; 'jira:adminPage'?: Jira; 'jira:globalPage'?: Jira; 'jira:projectPage'?: ProjectView; 'jira:projectSettingsPage'?: ProjectView; 'confluence:contentAction'?: Confluence; 'confluence:contentBylineItem'?: Confluence; 'confluence:contextMenu'?: Confluence; 'confluence:globalPage'?: Confluence; 'confluence:globalSettings'?: Confluence; 'confluence:spaceSettings'?: Confluence; 'confluence:backgroundScript'?: Confluence; 'confluence:pageBanner'?: Confluence; 'jiraServiceManagement:portalFooter'?: IssueView; 'jiraServiceManagement:portalHeader'?: IssueView; 'jiraServiceManagement:portalProfilePanel'?: Jira; 'jiraServiceManagement:portalUserMenuAction'?: Jira; 'jiraServiceManagement:portalRequestDetailPanel'?: IssueView; 'jiraServiceManagement:portalSubheader'?: ProjectView; 'jiraServiceManagement:portalRequestViewAction'?: IssueView; 'jiraServiceManagement:portalRequestDetail'?: IssueView; 'jiraServiceManagement:portalRequestCreatePropertyPanel'?: IssueView; }; }; export {}; //# sourceMappingURL=display-condition-types.d.ts.map