import { IndexType, type IndexConfig } from '../../cache/index/config.ts';
import type { CLI } from '../../commands/cli/types.ts';
import type { IOConfig } from '../../io/config.ts';
import type { NetworkSetting } from '../../io/network.ts';
import type { SessionProfile } from '../../policy/profile.ts';
import type { Limit, WritePolicy } from '../../types.ts';
import type { Mount } from '../mount/spec.ts';
export interface MountArgs {
    clis?: Record<string, [string | CLI, Record<string, unknown> | null]>;
    mountArgs: Record<string, Mount>;
    defaultSessionId: string | undefined;
    writeDefault: WritePolicy;
    anchored?: boolean;
    io: IOConfig;
    commandLimits: Record<string, Limit>;
    profiles: Record<string, SessionProfile>;
    profile: string | null;
    maxMemory: number | null;
    network: NetworkSetting;
    systemTime: string | null;
}
export interface IndexConfigSnapshot {
    type: IndexType;
    ttl: number;
    url?: string;
    key_prefix?: string | null;
}
export declare function indexConfigDump(config: IndexConfig | undefined, reveal?: boolean): IndexConfigSnapshot | null;
export declare function restoreIndexConfig(data: IndexConfigSnapshot | null | undefined, override: IndexConfig | undefined, prefix: string): IndexConfig | undefined;
//# sourceMappingURL=config.d.ts.map