export declare function strEnum(...enumValues: T[]): Readonly<{ [K in T]: K; }>; export declare type StringKeyedObject = { [key: string]: any; }; export declare function indexedStrEnum(values: { [K in keyof O]: { v: O[K]; }; }): O & { readonly [key: string]: any; }; export declare function boxEnum(val: T): { readonly v: T; };