interface Frequency { type: string; } interface Assignee { type: 'all' | 'any'; userId: number[]; userGroupId: number[]; } interface ResponsibilityCenter { type: 'any' | 'all'; id: number[]; } interface ReviewerFrequency { completeBy: number; endAfter: number; } interface Reviewer { type: 'sequential' | 'any'; frequency: ReviewerFrequency; userId: number[]; } interface OverseerGroup { userId: number[]; userGroupId: number[]; } interface Overseer { success: OverseerGroup; fail: OverseerGroup; } interface EvidenceFormat { type: 'link' | 'file' | ''; data: string[]; } interface Evidence { required: '0 | 1'; format: EvidenceFormat; } interface Program { id: number[]; tags: { [key: string]: any; }; } export interface Responsibility { title: string; key: number; riskClass: 'low' | 'low_medium' | 'medium_high' | 'high'; notes: string; objective: string; frequency: Frequency; assignor: number; assignee: Assignee; responsibilityCenter: ResponsibilityCenter | undefined; reviewer: Reviewer | undefined; overseer: Overseer | undefined; evidence: Evidence; program: Program; grcObjectId: any[]; assessmentId: string; id?: number; customField: any[]; } export {};