import type { Files } from '../files.ts';
import type { CompiledProfile } from '../../policy/profile.ts';
import { PathSpec } from '../../types.ts';
import { DocumentVFS } from '../../vfs/document/document.ts';
import type { MountRegistry } from '../mount/registry.ts';
import type { SessionManager } from '../session/manager.ts';
import { SessionState } from '../session/session.ts';
export declare class Documents {
    private readonly registry;
    private readonly files;
    private readonly manager;
    private readonly session;
    private readonly profile;
    private readonly ensureLoaded;
    private readonly unmount;
    private readonly followParent;
    readonly views: Map<string, DocumentVFS>;
    private readonly lock;
    constructor(registry: MountRegistry, files: Files, manager: SessionManager, session: (sessionId: string | null) => SessionState, profile: (name: string) => CompiledProfile, ensureLoaded: () => Promise<void>, unmount: (path: string) => Promise<void>, followParent: (path: string) => string);
    render(kind: 'vfs' | 'skill'): string;
    /** Drop every binding; a snapshot load restores none. */
    clear(): Promise<void>;
    releaseSession(sessionId: string): Promise<void>;
    get(kind: 'vfs' | 'skill', path?: string | PathSpec, profile?: string, sessionId?: string): Promise<string>;
    expose(kind: 'vfs' | 'skill', path: string, session: SessionState | null): Promise<void>;
}
//# sourceMappingURL=documents.d.ts.map