export interface Group { id: number; name: string; description?: string; roles: { id?: number; name: string; members: { id: string | number; name: string }[]; documents?: { id: number; name: string; description?: string; visibility: string; createdAt: string | null; deadline: string | null; signatures: DocumentSignature[]; status?: string; files?: Array<{ name: string; url: string }>; }[]; }[]; } export interface Message { id: number; sender: string; text?: string; time: string; type: 'text' | 'file'; fileName?: string; fileData?: string; } export interface MemberMessages { memberId: string; messages: Message[]; } export interface DocumentSignature { signed: boolean; member: { name: string; }; signedAt?: string; } export interface RequestParams { processId: number; processName: string; roleId: number; roleName: string; documentId: number; documentName: string; } export interface Notification { memberId: string; text: string; time: string; }