import type { CommandRule, AdmissionRules, Decision, ProfileScript } from '../../policy/types.ts'; /** A compiled command tier as the session record stores it (the Python spelling). */ export interface CommandsJSON { allow: string[] | null; ask: RuleJSON[]; deny: RuleJSON[]; } export interface RuleJSON { reason: string; commands?: string[]; paths?: string[]; mount?: string; } export declare function ruleToJSON(rule: CommandRule): RuleJSON; export declare function ruleFromJSON(data: RuleJSON): CommandRule; export declare function commandsToJSON(spec: AdmissionRules): CommandsJSON; export declare function commandsFromJSON(data: CommandsJSON): AdmissionRules; /** A session's profile script as the record stores it (the Python spelling). */ export interface ScriptJSON { profile: string; language: string; source: string; runtime: string; } export declare function scriptToJSON(entry: ProfileScript): ScriptJSON; export declare function scriptFromJSON(data: ScriptJSON): ProfileScript; /** A ledger record as the session record stores it (the Python spelling). */ export interface DecisionJSON { id: string; session_id: string; agent_id: string; command: string; argv: string[]; cwd: string; paths: string[]; reason: string; rule: RuleJSON; outcome: string | null; scope: string; note: string; } export declare function decisionToJSON(record: Decision): DecisionJSON; export declare function decisionFromJSON(data: DecisionJSON): Decision; //# sourceMappingURL=serialize.d.ts.map