export type BuiltinRole = 'operator' | 'researcher' | 'analyst' | 'builder' | 'reviewer';
export type CoordinationRole = BuiltinRole | (string & {});
export type TaskStatus = 'draft' | 'assigned' | 'in_progress' | 'evidence_submitted' | 'under_review' | 'rework_requested' | 'approved' | 'delivered' | 'completed' | 'failed';
export type ReviewVerdict = 'approve' | 'rework' | 'reject';
export interface TaskBrief {
    taskId: string;
    version: '1.0';
    title: string;
    description: string;
    createdBy: string;
    createdAt: string;
    deadline?: string;
    roles: TaskRoleSpec[];
    deliverables: DeliverableSpec[];
    acceptanceCriteria: string[];
    status: TaskStatus;
    signature: string;
}
export interface TaskRoleSpec {
    role: CoordinationRole;
    description: string;
    allowedScopes: string[];
    forbiddenScopes: string[];
    requiredCapabilities?: string[];
    assignedTo?: string;
    delegationId?: string;
}
export interface DeliverableSpec {
    deliverableId: string;
    name: string;
    description: string;
    format: string;
    producedBy: CoordinationRole;
    requiredFields?: string[];
    minCitations?: number;
}
export interface TaskAssignment {
    assignmentId: string;
    taskId: string;
    role: CoordinationRole;
    agentId: string;
    agentPublicKey: string;
    delegationId: string;
    assignedBy: string;
    assignedAt: string;
    acceptedAt?: string;
    agentSignature?: string;
    operatorSignature: string;
}
export interface EvidencePacket {
    packetId: string;
    taskId: string;
    submittedBy: string;
    role: CoordinationRole;
    submittedAt: string;
    claims: EvidenceClaim[];
    metadata: {
        sourcesSearched: number;
        totalClaims: number;
        citedClaims: number;
        gapCount: number;
        methodology: string;
    };
    signature: string;
}
export interface EvidenceClaim {
    claimId: string;
    dimension: string;
    subject: string;
    claim: string;
    quote: string;
    sourceUrl: string;
    confidence: 'high' | 'medium' | 'low' | 'not_found';
}
export interface ReviewDecision {
    reviewId: string;
    taskId: string;
    packetId: string;
    reviewedBy: string;
    reviewedAt: string;
    verdict: ReviewVerdict;
    score: number;
    threshold: number;
    rationale: string;
    issues?: ReviewIssue[];
    signature: string;
}
export interface ReviewIssue {
    claimId: string;
    issue: string;
    severity: 'critical' | 'major' | 'minor';
}
export interface EvidenceHandoff {
    handoffId: string;
    taskId: string;
    packetId: string;
    reviewId: string;
    fromRole: CoordinationRole;
    toRole: CoordinationRole;
    fromAgent: string;
    toAgent: string;
    handoffAt: string;
    operatorSignature: string;
}
export interface Deliverable {
    deliverableId: string;
    taskId: string;
    specId: string;
    submittedBy: string;
    role: CoordinationRole;
    submittedAt: string;
    content: string;
    evidencePacketIds: string[];
    citationCount: number;
    gapsFlagged: number;
    signature: string;
}
export interface TaskCompletion {
    taskId: string;
    completedBy: string;
    completedAt: string;
    status: 'completed' | 'failed' | 'partial';
    deliverableIds: string[];
    metrics: TaskMetrics;
    retrospective?: string;
    signature: string;
}
export interface TaskMetrics {
    totalDuration: number;
    coordinationOverhead: number;
    taskWorkTime: number;
    overheadRatio: number;
    evidenceGapRate: number;
    reworkCount: number;
    errorsCaught: number;
    agentCount: number;
}
export interface TaskUnit {
    brief: TaskBrief;
    assignments: TaskAssignment[];
    evidencePackets: EvidencePacket[];
    reviews: ReviewDecision[];
    handoffs: EvidenceHandoff[];
    deliverables: Deliverable[];
    completion?: TaskCompletion;
}
//# sourceMappingURL=coordination.d.ts.map