import { Unit } from '../../../../../Class/Unit';
import { ObjectUpdateType } from '../../../../../Object';
import { System } from '../../../../../system';
import { Dict } from '../../../../../types/Dict';
import { J } from '../../../../../types/interface/J';
import { V } from '../../../../../types/interface/V';
import { Unlisten } from '../../../../../types/Unlisten';
export declare type I = {};
export declare type O = {};
export default class _TabStorage extends Unit<I, O> implements J, V<Dict<string>> {
    constructor(system: System);
    subscribe(path: string[], key: string, listener: (type: ObjectUpdateType, path: string[], key: string, data: any) => void): Unlisten;
    private _checkAPI;
    read(): Promise<Dict<string>>;
    write(data: Dict<string>): Promise<void>;
    get(name: string): Promise<any>;
    set(name: string, data: string): Promise<void>;
    delete(name: string): Promise<any>;
    pathSet(path: string[], name: string, data: any): Promise<void>;
    pathGet(path: string[], name: string): Promise<any>;
    pathDelete(path: string[], name: string): Promise<void>;
    keys(): Promise<string[]>;
    hasKey(name: string): Promise<boolean>;
}
