export interface IHash<T> {
    [name: string]: T;
}
export declare type Json = IHash<string | number | boolean | Date | Json | JsonArray>;
export declare type JsonArray = (string | number | boolean | Date | Json | JsonArray)[];
export declare type JsonValue = Json[keyof Json];
export declare type MaybeArray<T> = T | T[];
export declare type MaybePromise<T> = T | Promise<T>;
export declare type AnyFunc = (...args: any[]) => any;
export declare type UserConfig = Record<string, any>;
export declare type ConstEnumValues = readonly [string, ...string[]];
export declare type ConstObject<T extends ConstEnumValues> = {
    [k in T[number]]: k;
};
export declare type ObjectValues<T> = T extends {
    [k: string]: infer U;
} ? U : never;
