import { SmrtObject } from '@happyvertical/smrt-core'; import { AttachmentOptions } from '../types'; export declare class Attachment extends SmrtObject { tenantId: string | null; messageId: string; filename: string; contentType: string; size: number; contentId: string; contentDisposition: 'attachment' | 'inline'; filePath: string; sourceUrl: string; createdAt: Date; constructor(options?: AttachmentOptions); /** * Get the message this attachment belongs to */ getMessage(): Promise; /** * Check if attachment is an image */ isImage(): boolean; /** * Check if attachment is a PDF */ isPdf(): boolean; /** * Check if attachment is inline (embedded in message body) */ isInline(): boolean; /** * Get file extension from filename */ getExtension(): string; /** * Get human-readable file size */ getFormattedSize(): string; /** * Check if file is stored externally */ hasExternalFile(): boolean; /** * Read file content (if stored externally) * * The files SDK is loaded through core's bundler-invisible optional-import * boundary so it never enters provider-neutral consumer bundles (#1979). * Absence of the SDK at runtime degrades to the existing null contract. */ readContent(): Promise; } //# sourceMappingURL=Attachment.d.ts.map