import { Plugin } from '../plugin';
import { StorageDriver } from './storage-driver';
import { StorageInitializer } from './storage-initializer';
import { StorageService } from './storage-service';
export type StoragePluginParams = {
    fingerprint?: string;
    prefix?: string;
    drivers?: StorageDriver[];
};
export declare class StoragePlugin extends Plugin<StoragePluginParams> {
    protected initializers: (typeof StorageInitializer)[];
    private _storage?;
    get storage(): StorageService<Partial<{
        [key: string]: any;
        scroll?: import('../..').ScrollMode;
        spread?: import('../..').SpreadMode;
        rotation?: number;
        page?: number;
        scale?: number | string;
        scrollTop?: number;
        scrollLeft?: number;
    }>> | undefined;
    protected init(): void;
    storeOnEvent({ eventName, key, parameter, validate }: {
        eventName: string;
        key?: string;
        parameter: string | ((eventData: any) => any);
        validate?: () => boolean;
    }): void;
    protected destroy(): Promise<void>;
}
