import { PipeFiles } from '../../core/dev/mixin.ts';
import type { DevicePipe } from '../../core/dev/pipe.ts';
import type { DevFileState } from './types.ts';
import type { StorageUsage } from '../capacity.ts';
import type { RAMAttrs } from '../ram/store.ts';
export declare class DevFiles extends PipeFiles {
    private readonly boundOwner?;
    readonly state: DevFileState;
    constructor(boundOwner?: string | undefined, state?: DevFileState);
    forSession(owner: string): DevFiles;
    pipeOf(key: string): DevicePipe | null;
    private owner;
    holdsPipe(key: string): boolean;
    visibleInputs(): Map<string, DevicePipe>;
    allocateInput(pipe: DevicePipe): readonly [string, number];
    releaseInput(path: string, allocation: number): boolean;
    private syntheticActive;
    private syntheticBytes;
    deviceOf(key: string): string | null;
    has(key: string): boolean;
    get(key: string): Uint8Array | undefined;
    set(key: string, value: Uint8Array): this;
    delete(key: string): boolean;
    clear(): void;
    get size(): number;
    keys(): MapIterator<string>;
    values(): MapIterator<Uint8Array>;
    entries(): MapIterator<[string, Uint8Array]>;
    [Symbol.iterator](): MapIterator<[string, Uint8Array]>;
    forEach(callback: (value: Uint8Array, key: string, map: Map<string, Uint8Array>) => void, thisArg?: unknown): void;
}
export declare class DevStore {
    readonly files: DevFiles;
    readonly modified: Map<string, string>;
    readonly attrs: Map<string, RAMAttrs>;
    readonly dirs: Set<string>;
    /** Never counted: a capacity refuses `/dev`. Read as RAMStore's. */
    readonly usage: StorageUsage | null;
    constructor(files?: DevFiles, modified?: Map<string, string>, attrs?: Map<string, RAMAttrs>);
    forSession(owner: string): DevStore;
}
//# sourceMappingURL=store.d.ts.map