import { ConfigService } from '@igo2/core/config';
import { BehaviorSubject } from 'rxjs';
import { StorageOptions, StorageScope, StorageServiceEvent } from './storage.interface';
export declare abstract class BaseStorage<T extends StorageOptions = StorageOptions> {
    protected options?: T;
    storageChange$: BehaviorSubject<StorageServiceEvent>;
    constructor(config: ConfigService);
    /**
     * Use to get the data found in storage file
     */
    get(key: string, scope?: StorageScope): string | object | boolean | number;
    set(key: string, value: string | object | boolean | number, scope?: StorageScope): void;
    remove(key: string, scope?: StorageScope): void;
    clear(scope?: StorageScope): void;
}
