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<string, {
    scope: string[];
    revoked: boolean;
}>, 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