import type { components } from './schema'; export type MessageTag = | 'Alert' | 'Alliance' | 'Attack' | 'Colonization' | 'Complaint' | 'Correspondence' | 'Excavator' | 'Intelligence' | 'Medal' | 'Mission' | 'Parliament' | 'Probe' | 'Spies' | 'Trade' | 'Tutorial'; export interface ViewInboxParams { options?: { page_number?: number; tags?: Array; empire?: string; }; } export interface ViewInboxResponse { messages: Array<{ id: number; subject: string; date: string; from: string; from_id: number; to: string; to_id: number; has_read: 1 | 0; has_replied: 1 | 0; body_preview: string; tags: MessageTag[]; }>; message_count: number; status: { server: components['schemas']['server_status']; empire?: components['schemas']['empire_status']; body?: components['schemas']['body_status']; }; } export interface ViewArchivedParams { options?: { page_number?: number; tags?: Array; empire?: string; }; } export interface ViewArchivedResponse { messages: Array<{ id: number; subject: string; date: string; from: string; from_id: number; to: string; to_id: number; has_read: 1 | 0; has_replied: 1 | 0; body_preview: string; tags: MessageTag[]; }>; message_count: number; status: { server: components['schemas']['server_status']; empire?: components['schemas']['empire_status']; body?: components['schemas']['body_status']; }; } export interface ViewTrashedParams { options?: { page_number?: number; tags?: Array; empire?: string; }; } export interface ViewTrashedResponse { messages: Array<{ id: number; subject: string; date: string; from: string; from_id: number; to: string; to_id: number; has_read: 1 | 0; has_replied: 1 | 0; body_preview: string; tags: MessageTag[]; }>; message_count: number; status: { server: components['schemas']['server_status']; empire?: components['schemas']['empire_status']; body?: components['schemas']['body_status']; }; } export interface ViewSentParams { options?: { page_number?: number; tags?: Array; empire?: string; }; } export interface ViewSentResponse { messages: Array<{ id: number; subject: string; date: string; from: string; from_id: number; to: string; to_id: number; has_read: 1 | 0; has_replied: 1 | 0; body_preview: string; tags: MessageTag[]; }>; message_count: number; status: { server: components['schemas']['server_status']; empire?: components['schemas']['empire_status']; body?: components['schemas']['body_status']; }; } export interface ViewUnreadParams { options?: { page_number?: number; tags?: Array; empire?: string; }; } export interface ViewUnreadResponse { messages: Array<{ id: number; subject: string; date: string; from: string; from_id: number; to: string; to_id: number; has_read: 1 | 0; has_replied: 1 | 0; body_preview: string; tags: MessageTag[]; }>; message_count: number; status: { server: components['schemas']['server_status']; empire?: components['schemas']['empire_status']; body?: components['schemas']['body_status']; }; } export interface ReadMessageParams { message_id: number; } export interface ReadMessageResponse { message: { id: number; from: string; from_id: number; to: string; to_id: number; subject: string; body: string; date: string; has_read: 1 | 0; has_replied: 1 | 0; has_archived: 1 | 0; has_trashed: 1 | 0; in_reply_to: string; recipients: Array; tags: Array; attachments?: { image?: { url: string; title: string; link?: string }; link?: { url: string; label: string }; table?: Array>; map?: { surface: string; buildings: Array<{ x: number; y: number; image: string }> }; }; }; status: { server: components['schemas']['server_status']; empire?: components['schemas']['empire_status']; body?: components['schemas']['body_status']; }; } export interface ArchiveMessagesParams { message_ids: Array; } export interface ArchiveMessagesResponse { success: Array; failure: Array; status: { server: components['schemas']['server_status']; empire?: components['schemas']['empire_status']; body?: components['schemas']['body_status']; }; } export interface TrashMessagesParams { message_ids: Array; } export interface TrashMessagesResponse { success: Array; status: { server: components['schemas']['server_status']; empire?: components['schemas']['empire_status']; body?: components['schemas']['body_status']; }; } export interface TrashMessagesWhereParams { spec: Array<{ tags?: Array; subject?: string | Array; from?: Array; }>; /** Gather the trashed message ids into `deleted`. Off by default. */ save_ids?: boolean; } export interface TrashMessagesWhereResponse { /** Only present when `save_ids` is true. */ deleted?: Array; deleted_count: number; status: { server: components['schemas']['server_status']; empire?: components['schemas']['empire_status']; body?: components['schemas']['body_status']; }; } export interface SendMessageParams { recipients: string; subject: string; body: string; options?: { in_reply_to?: string; forward?: string }; } export interface SendMessageResponse { status: { server: components['schemas']['server_status']; empire?: components['schemas']['empire_status']; body?: components['schemas']['body_status']; }; }