import { type ConsoleStore } from '../console/index.ts';
import { type RecordFields } from '../../workspace/record/types.ts';
import { JobStore } from './store.ts';
/**
 * JobStore held in process memory (the default).
 *
 * Workspaces that share one provider in a process share their jobs through
 * it. A console is dropped once no list names it; a reader already holding
 * it keeps reading, as a console outlives its entry. Mirrors Python's
 * `RAMJobStore`.
 */
export declare class RAMJobStore extends JobStore {
    private readonly lists;
    private readonly consoles;
    private readonly leases;
    private readonly published;
    private readonly stops;
    load(sessionId: string): Promise<RecordFields | null>;
    casSet(sessionId: string, fields: RecordFields, expectedGeneration: number): Promise<boolean>;
    delete(sessionId: string, expectedGeneration: number): Promise<boolean>;
    console(name: string): ConsoleStore;
    renew(owner: string, _consoles?: readonly string[]): Promise<void>;
    alive(owner: string): Promise<boolean>;
    publish(owner: string, processes: Readonly<Record<string, RecordFields>>): Promise<void>;
    processes(): Promise<Record<string, Record<string, RecordFields>>>;
    requestStop(owner: string, pid: number, signal: number): Promise<void>;
    takeStops(owner: string): Promise<[number, number][]>;
    clear(): Promise<void>;
    close(): Promise<void>;
    private drop;
}
//# sourceMappingURL=ram.d.ts.map