export type NeedNote = Note | ProcessedNote | AssignedNote | UrgencyNote | TypeNote | TopicNote | MessageNote | SubmittedNote | CreatedNote;
export interface BaseInternalNote {
    author: string;
    date: string;
    id?: string;
}
export interface Note extends BaseInternalNote {
    avatar?: string;
    description?: string;
    isAdmin?: boolean;
    isNote?: boolean;
    liked?: boolean;
    likedUsers?: string[];
    likesCount?: number;
    noteType: 'note';
    reply?: 'default' | 'isReply';
    showIcon?: boolean;
}
export interface ProcessedNote extends BaseInternalNote {
    noteType: 'processed';
}
export interface AssignedNote extends BaseInternalNote {
    assignedTo: string;
    avatar?: string;
    noteType: 'assigned';
}
export interface UrgencyNote extends BaseInternalNote {
    noteType: 'urgency';
    urgency: 0 | 1 | 2 | 3;
}
export interface TypeNote extends BaseInternalNote {
    noteType: 'type';
    type: string;
}
export interface TopicNote extends BaseInternalNote {
    noteType: 'topic';
    topic: string;
}
export interface MessageNote extends BaseInternalNote {
    avatar?: string;
    noteType: 'message';
}
export interface SubmittedNote extends BaseInternalNote {
    avatar?: string;
    noteType: 'submitted';
}
export interface CreatedNote extends BaseInternalNote {
    avatar?: string;
    noteType: 'created';
}
