import { ReadWriteLock } from './ReadWriteLock.ts';
type DataType = Record<string, any> | Array<any>;
export declare class SharedData<T extends DataType> {
    lock: ReadWriteLock;
    private dataBuffer;
    private dataView;
    constructor(dataBuffer: SharedArrayBuffer, lockBuffer: SharedArrayBuffer);
    readData(): Promise<T>;
    writeData(updater: (current: T) => T): Promise<void>;
    private serialize;
    private deserialize;
}
export {};
