import { AccessMode, VolumeMode, LabelSelector, PersistentVolumeClaim, PersistentVolumeClaimDataSource, TranslateService, K8sApiService, ValueOf, StringMap, WorkspaceParams } from '@alauda-fe/common'; import { Observable } from 'rxjs'; import { StorageSelectOption, StorageCommonUtilService } from '../../services/common-util.service'; import { StorageClass, VolumeSnapshotClass } from '../../types/k8s'; import * as i0 from "@angular/core"; declare const PvcStorageClassCreateType: { readonly DYNAMIC: "dynamic"; readonly STATIC: "static"; }; type PvcStorageClassCreateType = ValueOf; interface PersistentVolumeFormModel { name: string; labels: StringMap; annotations: StringMap; storageClassName: string; accessModes: AccessMode; volumeMode: VolumeMode; storage: string; dataSource?: PersistentVolumeClaimDataSource; selector: LabelSelector; } type DisplayField = keyof PersistentVolumeFormModel | 'createType'; declare const PersistentVolumeClaimFormComponent_base: new () => import("@alauda-fe/common").BaseNestedFormControl; export declare class PersistentVolumeClaimFormComponent extends PersistentVolumeClaimFormComponent_base { protected storageCommonUtil: StorageCommonUtilService; private readonly translate; private readonly k8sApi; baseParams: WorkspaceParams; baseParams$: Observable; storageClasses: StorageClass[]; storageClasses$: Observable; isFromSnapshot: boolean; createType: PvcStorageClassCreateType; volumeMode: VolumeMode; displayFields: DisplayField[]; get showAdvancedField(): boolean; get isFromSnapshotAndSourcePVCExist(): boolean; get selectDefault(): boolean; get showStorageClassHintWhenFromSnapshot(): boolean; accessModes: ("ReadWriteOnce" | "ReadOnlyMany" | "ReadWriteMany")[]; volumeModes: ("Filesystem" | "Block")[]; POSITIVE_INT_PATTERN: { pattern: RegExp; tip: string; }; originResource: PersistentVolumeClaim; model: PersistentVolumeFormModel; resourceNameReg: { pattern: RegExp; tip: string; }; labelValidator: { key: typeof import("@alauda-fe/common").k8sResourceLabelKeyValidator; value: import("@angular/forms").ValidatorFn; }; AccessModeTranslateKey: { ReadWriteOnce: string; ReadOnlyMany: string; ReadWriteMany: string; ReadWriteOncePod: string; }; VolumeModeTranslateKey: { Filesystem: string; Block: string; }; labelErrorMapper$: Observable<{ key: { namePattern: string; prefixPattern: string; nameTooLong: string; prefixTooLong: string; }; value: { pattern: string; maxlength: string; }; }>; annotationValidator: { key: typeof import("@alauda-fe/common").k8sResourceLabelKeyValidator; }; annotationErrorMapper$: Observable<{ key: { namePattern: string; prefixPattern: string; nameTooLong: string; prefixTooLong: string; }; }>; createMethod: PvcStorageClassCreateType; PvcStorageClassCreateType: { readonly DYNAMIC: "dynamic"; readonly STATIC: "static"; }; selectedStorageSelectOption: StorageSelectOption; UNITS: readonly ["Gi", "Ti"]; unit: string; storageClassList$: Observable; volumeSnapshotClassList$: Observable; writeValue(value: PersistentVolumeClaim): void; constructor(storageCommonUtil: StorageCommonUtilService, translate: TranslateService, k8sApi: K8sApiService); createMethodChange(createType: PvcStorageClassCreateType): void; storageclassChange(selectedOption: StorageSelectOption): void; volumeModeChange(volumeMode: VolumeMode): void; displayFieldSupported(fieldName: DisplayField): boolean; private setAccessModeToSupportValueIfNeed; private setVolumeModeToSupportValueIfNeed; private readonly adaptResourceModel; private readonly overrideResource; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export {};