export type StorageParams = Record<string, any>;
export type StorageMethods = 'url-hash' | 'url-query' | 'url-hash-push' | 'url-query-push' | 'local' | 'session';
interface Component {
    connectedCallback?(): void;
    disconnectedCallback?(): void;
    componentDidRender?(): void;
    [key: string]: any;
}
export declare const ComponentStore: {
    init(component: Component, keys: string[], method?: StorageMethods, id?: string): void;
    update(id: string): void;
    get(id: string): Store;
};
declare class Store {
    private method;
    private keys;
    private id;
    private component;
    private updateStore;
    initialState: {
        [key: string]: any;
    };
    constructor(id: string, component: Component, keys: string[], initialState?: any, method?: StorageMethods);
    private onUrlChange;
    private equality;
    get getData(): {};
    retrieve(): any;
    private save;
    savePropsToStore: () => void;
    dispatchToProps: (updateStore?: boolean) => void;
    delete: () => void;
}
export {};
