import { Email } from '../models/Email'; import { EmailSearchFilters } from '../types'; import { MessageCollection } from './MessageCollection'; export declare class EmailCollection extends MessageCollection { static readonly _itemClass: typeof Email; /** * Get email by RFC 822 Message-ID */ getByMessageId(accountId: string, messageId: string): Promise; /** * Get emails by account */ getByAccount(accountId: string): Promise; /** * Get emails by folder */ getByFolder(folderId: string): Promise; /** * Get emails by thread */ getByThread(threadId: string): Promise; /** * Get unread emails */ getUnread(accountId?: string): Promise; /** * Get flagged emails */ getFlagged(accountId?: string): Promise; /** * Get emails with attachments */ getWithAttachments(accountId?: string): Promise; /** * Get recent emails */ getRecent(limit?: number, accountId?: string): Promise; /** * Count emails in a folder */ countByFolder(folderId: string): Promise; /** * Count unread emails in a folder */ countUnreadByFolder(folderId: string): Promise; /** * Count unread emails for an account */ countUnreadByAccount(accountId: string): Promise; /** * Search emails with email-specific filters. * Alias: `search()` for backward compatibility. */ search(query: string, filters?: EmailSearchFilters): Promise; /** * Search emails with email-specific filters */ searchEmails(query: string, filters?: EmailSearchFilters): Promise; /** * Mark all emails in a folder as read */ markFolderRead(folderId: string): Promise; /** * Delete emails by folder */ deleteByFolder(folderId: string): Promise; /** * Get email statistics for an account */ getAccountStats(accountId: string): Promise<{ total: number; unread: number; flagged: number; withAttachments: number; byType: Record; }>; findByTenant(tenantId: string): Promise; findGlobal(): Promise; findWithGlobals(tenantId: string): Promise; } //# sourceMappingURL=EmailCollection.d.ts.map