import { AfterViewInit, ChangeDetectorRef, EventEmitter, OnDestroy, OnInit } from '@angular/core'; import { FormArray, FormControl, FormGroup } from '@angular/forms'; import { SelectItem } from '@valtimo/components'; import { IconService } from 'carbon-components-angular'; import { BehaviorSubject } from 'rxjs'; import { AccessControlFormEditorService } from '../../services'; import * as i0 from "@angular/core"; export declare class PermissionFormComponent implements OnInit, AfterViewInit, OnDestroy { private readonly formEditorService; private readonly iconService; private readonly changeDetectorRef; group: FormGroup; index: number; disabled: boolean; roleKey: string | null; removeEvent: EventEmitter; resourceTypeItems: SelectItem[]; actionItems: SelectItem[]; contextResourceTypeItems: SelectItem[]; hasContextTargets: boolean; readonly $loading: import("@angular/core").WritableSignal; readonly $openSection: import("@angular/core").WritableSignal<"conditions" | "resourceActions" | "context">; readonly showRemoveModal$: BehaviorSubject; protected readonly testIds: { readonly addPermissionButton: "accessControlEditorAddPermission"; readonly permissionListItem: "accessControlEditorPermissionListItem"; readonly permissionCard: "accessControlEditorPermissionCard"; readonly removePermissionButton: "accessControlEditorRemovePermission"; readonly resourceTypeSelect: "accessControlEditorResourceType"; readonly actionsSelect: "accessControlEditorActions"; readonly contextToggle: "accessControlEditorContextToggle"; readonly contextResourceTypeSelect: "accessControlEditorContextResourceType"; readonly addConditionButton: "accessControlEditorAddCondition"; readonly removeConditionButton: "accessControlEditorRemoveCondition"; readonly conditionTypeSelect: "accessControlEditorConditionType"; readonly conditionFieldSelect: "accessControlEditorConditionField"; readonly conditionOperatorSelect: "accessControlEditorConditionOperator"; readonly conditionValueInput: "accessControlEditorConditionValue"; readonly conditionPathInput: "accessControlEditorConditionPath"; readonly conditionClazzInput: "accessControlEditorConditionClazz"; }; private readonly _subscriptions; private _revealTimeoutId?; constructor(formEditorService: AccessControlFormEditorService, iconService: IconService, changeDetectorRef: ChangeDetectorRef); get resourceTypeValue(): string; get resourceShortName(): string; get contextResourceTypeValue(): string | null; get hasContext(): boolean; get hasContextResource(): boolean; get contextMode(): 'none' | 'noContext' | 'specific'; get actionsControl(): FormControl; get selectedActions(): string[]; get conditionsArray(): FormArray; get contextConditionsArray(): FormArray; ngOnInit(): void; ngAfterViewInit(): void; ngOnDestroy(): void; onContextModeChange(mode: 'none' | 'noContext' | 'specific'): void; onActionToggle(action: string, checked: boolean): void; onSectionToggle(section: 'resourceActions' | 'conditions' | 'context', event: { expanded?: boolean; }): void; openRemoveModal(): void; onRemove(): void; private recomputeActionItems; private recomputeContextResourceTypeItems; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }