import { PropType, ExtractPropTypes, ComputedRef } from 'vue'; import { MaybeRef } from '@vueuse/core'; import { WorkloadType } from '../../constants/workload-props'; import { advancedDnsProps, AdvancedUpdateStrategyProps, advancedPodManageProps, advancedLabelAndAnnotationProps } from './advance-type'; import { ScheduleConfigProps } from '../schedule-config'; import { jobConfigProps } from '../job-config'; export declare enum AdvancedId { LabelAndAnnotation = "LabelAndAnnotation", Job = "Job", Update = "Update", Affinity = "Affinity", Dns = "Dns", PodManage = "PodManage" } export type WorkloadAdvancedConfig = { [AdvancedId.Dns]?: ExtractPropTypes; [AdvancedId.Update]?: AdvancedUpdateStrategyProps; [AdvancedId.PodManage]?: ExtractPropTypes; [AdvancedId.Affinity]?: ScheduleConfigProps; [AdvancedId.LabelAndAnnotation]?: ExtractPropTypes; [AdvancedId.Job]?: ExtractPropTypes; }; export declare const injectProps: { workloadType: { type: PropType; default: string; }; isEdit: { type: BooleanConstructor; default: boolean; }; }; type InjectAdvancedData = ExtractPropTypes; export declare const injectAdvanced: { key: symbol; provide(data: ComputedRef): void; inject(): ComputedRef; }; type ValidateGroup = Record>; export declare const useValidateKey: { key: symbol; generate(tabs: string[]): ValidateGroup; provide(tabs: string[]): ValidateGroup; inject(key: string): Set; useInject(key: string, maybeRefFields: MaybeRef> | undefined): void; }; export declare const workloadAdvancedProps: { activeTab: { type: PropType; default: undefined; }; fieldsConfig: { type: PropType; default: undefined; }; layout: { type: PropType; default: undefined; }; workloadType: { type: PropType; default: string; }; isEdit: { type: BooleanConstructor; default: boolean; }; }; export type WorkloadAdvancedProps = ExtractPropTypes; export {};