import EventEmitter from "../../../utils/eventemitter/EventEmitter"; export default ItemTable; declare namespace ItemTable { type TableType = 1 | 2 | 3 | '1d' | '2d' | '3d'; interface IConfig { root?: string, type?: TableType, eventEmitter?: EventEmitter | false, } type ValueType = number | string | boolean | { [name: string]: ValueType }; type TransactionCallbackType = (prevValue: ValueType) => ValueType; } declare class ItemTable extends EventEmitter { constructor( config?: ItemTable.IConfig ); setData( key0: string, value: ItemTable.ValueType ): Promise; setData( key0: string, key1: string, value: ItemTable.ValueType ): Promise; setData( key0: string, key1: string, key2: string, value: ItemTable.ValueType ): Promise; incValue( key0: string, value: number ): Promise; incValue( key0: string, key1: string, value: number ): Promise; incValue( key0: string, key1: string, key2: string, value: number ): Promise; removeData( key0: string ): Promise; removeData( key0: string, key1: string ): Promise; removeData( key0: string, key1: string, key2: string ): Promise; updateData( data: { [path: string]: ItemTable.ValueType } ): Promise; transaction( key0: string, callback: ItemTable.TransactionCallbackType ): Promise; transaction( key0: string, key1: string, callback: ItemTable.TransactionCallbackType ): Promise; transaction( key0: string, key1: string, key2: string, callback: ItemTable.TransactionCallbackType ): Promise; removeDataOnDisconnect( key0: string, ): Promise; removeDataOnDisconnect( key0: string, key1: string, ): Promise; removeDataOnDisconnect( key0: string, key1: string, key2: string, ): Promise; setDataOnDisconnect( key0: string, value: ItemTable.ValueType ): Promise; setDataOnDisconnect( key0: string, key1: string, value: ItemTable.ValueType ): Promise; setDataOnDisconnect( key0: string, key1: string, key2: string, value: ItemTable.ValueType ): Promise; startUpdate(): this; stopUpdate(): this; getData( ): ItemTable.ValueType; getData( key0: string, ): ItemTable.ValueType; getData( key0: string, key1: string, ): ItemTable.ValueType; getData( key0: string, key1: string, key2: string, ): ItemTable.ValueType; cloneData( ): ItemTable.ValueType; cloneData( key0: string, ): ItemTable.ValueType; cloneData( key0: string, key1: string, ): ItemTable.ValueType; cloneData( key0: string, key1: string, key2: string, ): ItemTable.ValueType; }