diff --git a/app/MindWork AI Studio/Chat/FileAttachment.cs b/app/MindWork AI Studio/Chat/FileAttachment.cs
new file mode 100644
index 00000000..5b14f2e6
--- /dev/null
+++ b/app/MindWork AI Studio/Chat/FileAttachment.cs
@@ -0,0 +1,6 @@
+namespace AIStudio.Chat;
+
+///
+/// Represents an immutable file attachment with details about its type, name, path, and size.
+///
+public readonly record struct FileAttachment(FileAttachmentType Type, string FileName, string FilePath, long FileSize);
\ No newline at end of file
diff --git a/app/MindWork AI Studio/Chat/FileAttachmentType.cs b/app/MindWork AI Studio/Chat/FileAttachmentType.cs
new file mode 100644
index 00000000..a4b0b2f5
--- /dev/null
+++ b/app/MindWork AI Studio/Chat/FileAttachmentType.cs
@@ -0,0 +1,22 @@
+namespace AIStudio.Chat;
+
+///
+/// Represents different types of file attachments.
+///
+public enum FileAttachmentType
+{
+ ///
+ /// Document file types, such as .pdf, .docx, .txt, etc.
+ ///
+ DOCUMENT,
+
+ ///
+ /// All image file types, such as .jpg, .png, .gif, etc.
+ ///
+ IMAGE,
+
+ ///
+ /// All audio file types, such as .mp3, .wav, .aac, etc.
+ ///
+ AUDIO,
+}
\ No newline at end of file