export type AgentRole = 'operator' | 'collaborator' | 'consultant' | 'observer';
export type AutonomyLevel = 1 | 2 | 3 | 4 | 5;
export interface RoleAssignment {
    agentId: string;
    role: AgentRole;
    department?: string;
    autonomyLevel: AutonomyLevel;
    assignedBy: string;
    assignedAt: string;
    scope: string[];
    signature: string;
}
/**
 * Role definitions:
 *
 * operator (autonomy 1-2):
 *   Executes tasks within defined parameters. Does not initiate decisions.
 *   Can escalate but not resolve conflicts.
 *
 * collaborator (autonomy 2-3):
 *   Co-creates with humans or other agents. Can propose actions,
 *   participate in deliberations, adjust approach within bounds.
 *
 * consultant (autonomy 3-4):
 *   Advises on strategy, values, and tradeoffs within their domain.
 *   Articulates organizational intent. Higher vote weight in domain expertise.
 *   Can initiate deliberations.
 *
 * observer (autonomy 1):
 *   Monitors and reports. Read-only access to intent and decisions.
 *   Cannot vote or propose. Can flag anomalies.
 */
export interface IntentDocument {
    intentId: string;
    version: string;
    department?: string;
    authoredBy: string;
    title: string;
    goals: IntentGoal[];
    tradeoffHierarchy: TradeoffRule[];
    createdAt: string;
    expiresAt?: string;
    signature: string;
}
export interface IntentGoal {
    goalId: string;
    description: string;
    priority: number;
    metrics?: string[];
    constraints?: string[];
}
export interface TradeoffRule {
    ruleId: string;
    when: string;
    prefer: string;
    until: string;
    thenPrefer: string;
    context?: string;
}
export interface ConsensusRound {
    roundId: string;
    deliberationId: string;
    roundNumber: number;
    timestamp: string;
    agentId: string;
    publicKey: string;
    role: AgentRole;
    department?: string;
    assessment: DomainAssessment[];
    overallScore: number;
    reasoning: string;
    positionDelta?: number;
    signature: string;
}
export interface DomainAssessment {
    domain: string;
    score: number;
    confidence: number;
    weight: number;
}
export interface Deliberation {
    deliberationId: string;
    subject: string;
    description: string;
    initiatedBy: string;
    initiatedAt: string;
    status: 'active' | 'converged' | 'deadlocked' | 'escalated';
    rounds: ConsensusRound[];
    convergenceThreshold: number;
    maxRounds: number;
    reversibilityScore: number;
    outcome?: DeliberationOutcome;
}
export interface DeliberationOutcome {
    decision: string;
    consensusScore: number;
    roundsToConverge: number;
    votesFor: string[];
    votesAgainst: string[];
    abstained: string[];
    escalatedTo?: string;
    precedentId?: string;
    resolvedAt: string;
    signature: string;
}
export interface Precedent {
    precedentId: string;
    deliberationId: string;
    subject: string;
    context: string;
    decision: string;
    tradeoffApplied?: string;
    agentScores: Record<string, number>;
    createdAt: string;
    citedCount: number;
}
export type MemoryTier = 'working' | 'session' | 'long_term' | 'artifact';
export interface ContextGovernance {
    tier: MemoryTier;
    readRoles: AgentRole[];
    writeRoles: AgentRole[];
    persistDuration: string;
    requiresApproval: boolean;
    approvalThreshold?: number;
}
export interface IntentPassportExtension {
    role: AgentRole;
    autonomyLevel: AutonomyLevel;
    department?: string;
    activeIntents: string[];
    tradeoffHierarchyHash: string;
    deliberationsParticipated: number;
    precedentsCited: number;
    lastDeliberationAt?: string;
}
//# sourceMappingURL=intent.d.ts.map