export declare type Jsonable = {
    [name: string]: string | number | boolean | Jsonable;
};
export interface IModel {
    toJson(): Jsonable;
}
export declare function getStores(initialStates?: {
    [name: string]: Jsonable;
}): {
    [name: string]: IModel;
};
export declare function clearModels(): void;
export declare function model<T extends IModel = T>(name: string): (target: new (initialState?: Jsonable) => T) => new (initialState?: Jsonable) => T;
export declare function serialize(stores: {
    [name: string]: IModel;
}): {
    [name: string]: Jsonable;
};
