UNPKG

@altostra/core

Version:

Core library for shared types and logic

17 lines (16 loc) 1.15 kB
import type { ReservedUserConfigurationKey, UserConfiguration, UserConfigurationType } from "./UserConfiguration"; import type { ReservedVPCKey, VPCConfiguration, VPCConfigurationType } from "./VPCConfiguration"; export * from "./UserConfiguration"; export * from "./VPCConfiguration"; export declare type ConfigurationType = UserConfigurationType | VPCConfigurationType; declare type ConfigurationTypeMap = { [K in UserConfigurationType]: UserConfiguration; } & { [K in VPCConfigurationType]: VPCConfiguration; }; export declare type ConfigurationByType<T extends ConfigurationType> = ConfigurationTypeMap[T]; export declare type Configuration = ConfigurationByType<ConfigurationType>; export declare const isConfiguration: import("@altostra/type-validations/lib/taggedUnionOf").TaggedUnionValidation<UserConfiguration | VPCConfiguration, "type", "vpc" | "user">; export declare const isConfigurationType: import("@altostra/type-validations").TypeValidation<ConfigurationType>; export declare type ReservedKey = ReservedUserConfigurationKey | ReservedVPCKey; export declare function isReservedKey(value: unknown): value is ReservedKey;