type ManifestAnId = { domain: string; prefix: string; sequence: number; }; type ManifestNetwork = { networkGateway?: string; networkMinIp: string; networkNumber: number; networkSubnetMask: string; networkType: string; }; type ManifestNetworkList = { [networkId: string]: ManifestNetwork; }; type ManifestNetworkConfig = { dnsCsv: string; /** Max Transmission Unit (MTU); unit: bytes */ mtu: number; networks: ManifestNetworkList; ntpCsv: string; }; type ManifestHostFenceList = { [fenceId: string]: { fenceName: string; fencePort: string; }; }; type ManifestHostNetworkList = { [networkId: string]: { networkIp: string; networkNumber: number; networkType: string; }; }; type ManifestHostUpsList = { [upsId: string]: { isUsed: boolean; upsName: string; }; }; type ManifestHost = { fences?: ManifestHostFenceList; hostName?: string; hostNumber: number; hostType: string; networks?: ManifestHostNetworkList; upses?: ManifestHostUpsList; }; type ManifestHostList = { [hostId: string]: ManifestHost; }; type ManifestHostConfig = { hosts: ManifestHostList; }; type ManifestFormInputHandler = ( container: APIBuildManifestRequestBody, input: HTMLInputElement, ) => void; type MapToManifestFormInputHandler = Record; /** ---------- Component types ---------- */ type AnIdInputGroupOptionalProps = { previous?: Partial; }; type AnIdInputGroupProps = AnIdInputGroupOptionalProps & { formUtils: FormUtils; }; type AnNetworkEventHandlerPreviousArgs = { networkId: string; } & Pick; type AnNetworkCloseEventHandler = ( args: AnNetworkEventHandlerPreviousArgs, ...handlerArgs: Parameters ) => ReturnType; type AnNetworkTypeChangeEventHandler = ( args: AnNetworkEventHandlerPreviousArgs, ...handlerArgs: Parameters ) => ReturnType; type AnNetworkInputGroupOptionalProps = { inputGatewayLabel?: string; inputMinIpLabel?: string; inputSubnetMaskLabel?: string; onClose?: AnNetworkCloseEventHandler; onNetworkTypeChange?: AnNetworkTypeChangeEventHandler; previous?: { gateway?: string; minIp?: string; subnetMask?: string; }; readonlyNetworkName?: boolean; showCloseButton?: boolean; showGateway?: boolean; }; type AnNetworkInputGroupProps = AnNetworkInputGroupOptionalProps & { formUtils: FormUtils; networkId: string; networkNumber: number; networkType: string; networkTypeOptions: SelectItem[]; }; type AnHostInputGroupOptionalProps = { hostLabel?: string; previous?: Pick; }; type AnHostInputGroupProps = AnHostInputGroupOptionalProps & { formUtils: FormUtils; hostId: string; hostNumber: number; hostType: string; }; type AnNetworkConfigInputGroupOptionalProps = { previous?: Partial; }; type AnNetworkConfigInputGroupProps = AnNetworkConfigInputGroupOptionalProps & { formUtils: FormUtils; networkListEntries: Array<[string, ManifestNetwork]>; setNetworkList: import('react').Dispatch< import('react').SetStateAction >; }; type AnHostConfigInputGroupOptionalProps = { knownFences?: APIManifestTemplateFenceList; knownUpses?: APIManifestTemplateUpsList; previous?: Partial; }; type AnHostConfigInputGroupProps = AnHostConfigInputGroupOptionalProps & { formUtils: FormUtils; networkListEntries: Array<[string, ManifestNetwork]>; }; type AddManifestInputGroupOptionalProps = Pick< AnHostConfigInputGroupOptionalProps, 'knownFences' | 'knownUpses' > & { previous?: Partial & { hostConfig?: Partial; networkConfig?: Partial; }; }; type AddManifestInputGroupProps = AddManifestInputGroupOptionalProps & { formUtils: FormUtils; }; type EditManifestInputGroupProps = AddManifestInputGroupProps; type RunManifestInputGroupOptionalProps = { knownHosts?: APIHostOverviewList; }; type RunManifestInputGroupProps = RunManifestInputGroupOptionalProps & AddManifestInputGroupProps;