import * as t from 'io-ts' ; /**
 * TODO: This type are originally from "src/core/types/saved_objects.ts", once that is package friendly remove
 * this copied type.
 *
 * Don't use this type, it's simply a helper type for  SavedObjectAttribute public export type SavedObjectAttributeSingle = string | number | boolean | null | undefined | SavedObjectAttributes ; public export type SavedObjectAttribute = SavedObjectAttributeSingle | SavedObjectAttributeSingle [ ] ; public export interface SavedObjectAttributes { [ key ] : SavedObjectAttribute ; } export const saved_object_attribute_single = t . recursion ( 'saved_object_attribute_single' , ( ) => t . union ( [ t . string , t . number , t . boolean , t . null , t . undefined , saved_object_attributes ] ) ) ; export const saved_object_attribute = t . recursion ( 'saved_object_attribute' , ( ) => t . union ( [ saved_object_attribute_single , t . array ( saved_object_attribute_single ) ] ) ) ; export const saved_object_attributes = t . recursion ( 'saved_object_attributes' , ( ) => t . record ( t . string , saved_object_attribute ) ) ;