import { NameSpaceContent } from "../../elements/persistent/type"; export declare class Namespace> { static isSerializable(value: any): boolean; name: string; constructor(name: string, initContent: T, key?: string); set(key: Key, value: T[Key]): this; get(key: Key): T[Key]; equals(key: Key, value: T[Key]): boolean; assign(values: Partial): this; has(key: keyof T): boolean; keys(): (keyof T)[]; values(): T[keyof T][]; entries(): [keyof T, T[keyof T]][]; reset(): this; } export declare class Storable { static createNamespace>(name: string, initContent: T, key?: string): Namespace; addNamespace>(namespace: Namespace): this | undefined; getNamespace = any>(key: string): Namespace; setNamespace = any>(key: string, namespace: Namespace): this; hasNamespace(key: string): boolean; removeNamespace(key: string): this; getNamespaces(): { [key: string]: Namespace; }; keys(): string[]; values(): Namespace[]; entries(): [string, Namespace][]; }