import type { ValuesFloor, FloorPrinciple, FloorAttestation, ComplianceReport, SharedGround, AgentPassport, ActionReceipt, EnforcementMode } from '../types/passport.js'; /** * Parse the Values Floor from a JSON object. * * v2 design: JSON, not YAML. The floor is a protocol artifact, * not a config file. JSON is unambiguous, universally parseable, * and requires zero dependencies. Every language on earth can * read JSON. Not every language can read YAML the same way. * * We still support YAML for human authoring (loadFloorFromYaml), * but the canonical representation is JSON. */ export declare function loadFloor(input: string): ValuesFloor; export declare function loadFloorFromFile(filePath: string): ValuesFloor; /** * Resolve the effective enforcement mode for a principle. * * Handles backward compatibility: * - mode present → use it * - mode absent, technical: true → 'inline' * - mode absent, technical: false → 'audit' * - nothing → 'audit' (safe default: log but don't block) */ export declare function resolveEnforcementMode(enforcement: FloorPrinciple['enforcement']): EnforcementMode; /** * Compute the effective enforcement mode across floor + extensions. * * Strictness ordering: inline > warn > audit * Extensions can only escalate (audit→warn→inline), never de-escalate. * The strictest mode wins. * * This is the core narrowing rule: if the floor says 'audit' and * an extension says 'inline', the effective mode is 'inline'. * If the floor says 'inline', nothing can weaken it. */ export declare function effectiveEnforcementMode(floorMode: EnforcementMode, ...extensionModes: EnforcementMode[]): EnforcementMode; /** * An attestation is minimal: agent signs {floorVersion, extensions, timestamp}. * That's it. No performative commitment text. * * The attestation says: "I recognize this floor version." * The receipts say: "Here's what I actually did." * The compliance check compares the two. * * Truth is in the receipts, not in the attestation. */ export declare function attestFloor(agentId: string, publicKey: string, floorVersion: string, extensions: string[], privateKey: string, expiresInDays?: number): FloorAttestation; export declare function verifyAttestation(attestation: FloorAttestation): { valid: boolean; errors: string[]; }; /** * Evaluate compliance by producing FACTS about each principle. * * Previous version: returned overallCompliance: 0.943 (opinion). * This version: returns each principle's status as a verifiable fact, * PLUS a summary that separates what's proven from what's claimed. * * The compliance report is evidence. What you do with evidence * is your decision — not the protocol's. */ export declare function evaluateCompliance(agentId: string, receipts: ActionReceipt[], floor: ValuesFloor, delegations: Map, verifierPrivateKey: string): ComplianceReport; /** * Determine shared ethical ground between two agents. * Simple: same major floor version + intersection of extensions. */ export declare function negotiateCommonGround(passportA: AgentPassport, attestationA: FloorAttestation, passportB: AgentPassport, attestationB: FloorAttestation): SharedGround; //# sourceMappingURL=values.d.ts.map