import type { ChildProcess } from './child.ts';
import type { ProcessPermissions } from './config.ts';
import type { ProcessInfo, SpawnRequest } from './types.ts';
/**
 * Profile-scoped operations. Seeing a process grants no streams; invisible
 * PIDs are not found. Stopping one the view sees but may not stop throws EPERM.
 * `permissions` answers the profile's process grants while the view stands
 * and null once it is revoked, for the processes of other workspaces, which
 * only the store lists.
 */
export interface ProcessView {
    readonly list: () => readonly ProcessInfo[];
    readonly checkSpawn: () => void;
    readonly probe: (pid: number) => boolean;
    readonly terminate: (pid: number, signal: number) => boolean;
    readonly permissions: () => ProcessPermissions | null;
    readonly depth?: number;
    readonly spawn?: (request: SpawnRequest) => ChildProcess;
}
//# sourceMappingURL=view.d.ts.map