import Model, { attr, hasMany, type AsyncHasMany } from '@ember-data/model' import type RemoteServerModel from './remote-server' import type AccountModel from './account' import type MediaMetadataModel from './media-metadata' export default class NoteModel extends Model { @attr declare content: string @attr declare originServer: RemoteServerModel @attr declare originServerId: number @attr declare reactionCount: number @attr declare createdAt: Date @attr declare updatedAt: Date @attr declare author: AccountModel @attr declare authorId: string @attr declare contentWarning?: string @attr declare inReplyToId?: string @attr declare quotesId?: string @attr declare emoteIds?: Array @hasMany('media-metadata') declare attachments: AsyncHasMany @attr declare attachmentIds: Array @attr declare accessLevel: number @hasMany('account') declare pings?: AsyncHasMany @attr declare pingIds?: Array @attr declare reactionIds: Array }