/**
 * CitadelActionPort — host adapter for Citadel governance operations.
 *
 * Implements tiered access control (T1-T4) per BYOA (Bring Your Own Agent) framework.
 * Only T3+ agents can seal sprints, T1 is read-only, T4 requires on-chain signing.
 *
 * Source: MASTER-PLAN-v5.md §1.3 (CC service layer) + vauban-gouvernance/rules/ai/tiered-gates.md
 */
export type AgentTier = "T1" | "T2" | "T3" | "T4";
export type TaskStatus = "todo" | "in_progress" | "done" | "blocked" | "rejected";
export interface SprintInput {
    readonly name: string;
    readonly goal?: string;
    readonly start_date?: string;
    readonly end_date?: string;
    readonly project_slug: string;
}
export interface TaskRef {
    readonly ref: string;
    readonly project: string;
    readonly sprint: string;
    readonly task_id: string;
}
export interface VerificationEvidence {
    readonly passed: boolean;
    readonly evidence_text: string;
    readonly evidence_hash: string;
}
export interface DecisionInput {
    readonly decision: string;
    readonly context: string;
    readonly options: readonly string[];
    readonly chosen: string;
    readonly rationale: string;
    readonly tags?: readonly string[];
}
export interface ActionContext {
    readonly agentId: string;
    readonly agentTier: AgentTier;
    readonly runId: string;
    readonly tenantId?: string;
}
export interface SprintRef {
    readonly sprint_id: string;
    readonly project_slug: string;
    readonly name: string;
    readonly created_at: Date;
}
export interface SealedSprintClaim {
    readonly sprint_id: string;
    readonly sealed_at: Date;
    readonly verification_evidence_hash: string;
    readonly sealed_by_agent: string;
    readonly anchor_id?: string;
}
export interface DecisionClaim {
    readonly decision_id: string;
    readonly created_at: Date;
    readonly archived_to_brain: boolean;
    readonly cascade_triggered?: boolean;
}
export interface CitadelActionPort {
    /**
     * Create a new sprint in a project.
     * T2+ only. T1 throws CitadelTierViolationError.
     */
    createSprint(input: SprintInput, ctx: ActionContext): Promise<SprintRef>;
    /**
     * Update task status within a sprint.
     * T2+ can transition: todo→in_progress, in_progress→done, *→blocked.
     * T3+ can seal (→done with verification).
     */
    updateTaskStatus(ref: TaskRef, status: TaskStatus, ctx: ActionContext): Promise<void>;
    /**
     * Seal a completed sprint with verification evidence.
     * T3+ only. Emits SealedSprintClaim (anchor to L3 deferred Phase 1+).
     * Verification evidence hash proves execution of verification_scenario.
     */
    sealSprint(sprintId: string, evidence: VerificationEvidence, ctx: ActionContext): Promise<SealedSprintClaim>;
    /**
     * Record a decision to governance layer.
     * T2+ can record. T3+ triggers optional ADR cascade hook.
     * Returns DecisionClaim with Brain archive status.
     */
    recordDecision(decision: DecisionInput, ctx: ActionContext): Promise<DecisionClaim>;
}
export declare class CitadelTierViolationError extends Error {
    readonly required_tier: AgentTier;
    readonly actual_tier: AgentTier;
    readonly operation: string;
    readonly cause?: unknown | undefined;
    constructor(message: string, required_tier: AgentTier, actual_tier: AgentTier, operation: string, cause?: unknown | undefined);
}
export declare class CitadelTaskRefNotFoundError extends Error {
    readonly task_ref: string;
    readonly cause?: unknown | undefined;
    constructor(task_ref: string, cause?: unknown | undefined);
}
export declare class CitadelSprintNotActiveError extends Error {
    readonly sprint_id: string;
    readonly current_status: string;
    readonly cause?: unknown | undefined;
    constructor(sprint_id: string, current_status: string, cause?: unknown | undefined);
}
export declare class CitadelInvalidStateTransitionError extends Error {
    readonly current_status: TaskStatus;
    readonly requested_status: TaskStatus;
    readonly cause?: unknown | undefined;
    constructor(current_status: TaskStatus, requested_status: TaskStatus, cause?: unknown | undefined);
}
//# sourceMappingURL=citadel-action.d.ts.map