/** Protocol Models */ export interface ProtocolViewModel { id: number; title: string; date: Date; starttime: Date; endtime: Date; summary: string; } export interface CreateProtocolViewModel { title: string; date: Date; } export interface SyncProtocolViewModel { title: string; date: Date; starttime: Date; endtime: Date; summary: string; } /** Protocol Agenda Models */ export interface ProtocolAgendaViewModel { id: number; topic: string; context: string; sort: number; protocolId: number; } export interface SyncProtocolAgendaViewModel { id: number; topic: string; context: string; sort: number; } /** Protocol Decision Models */ export interface ProtocolDecisionViewModel { id: number; topic: string; context: string; sort: number; protocolId: number; } export interface SyncProtocolDecisionViewModel { id: number; topic: string; context: string; sort: number; } /** Protocol Presence Models */ export interface ProtocolPresenceViewModel { memberId: string; absent: boolean; excused: boolean; sort: number; protocolId: number; } export interface SyncProtocolPresenceViewModel { presence: Array<{ memberId: string; absent: boolean; excused: boolean; sort: number; }>; } /** Protocol Voting Models */ export interface ProtocolVotingViewModel { id: number; topic: string; context: string; favour: number; abstain: number; against: number; sort: number; protocolId: number; } export interface SyncProtocolVotingViewModel { id: number; topic: string; context: string; favour: number; abstain: number; against: number; sort: number; } /** Protocol Printout Models */ export interface ProtocolPrintoutViewModel { id: number; title: string; iteration: number; createdAt: Date; protocolId: number; }