export type MemoryAddress = string | number;
export type DefinedMemoryBlock = {
    busy: false;
    readonly data: null;
    readonly size: number;
};
export type AllocatedMemoryBlock = {
    busy: boolean;
    readonly data: Uint8Array;
    readonly view: DataView;
    readonly size: number;
};
export type MemoryBlock = DefinedMemoryBlock | AllocatedMemoryBlock;
export declare class Memory {
    protected readonly blocks: Map<MemoryAddress, MemoryBlock>;
    define(address: MemoryAddress, size: number): void;
    remove(address: MemoryAddress): void;
    alloc(address: MemoryAddress): AllocatedMemoryBlock;
    free(address: MemoryAddress): void;
}
//# sourceMappingURL=_memory.d.ts.map