using System;

namespace AIRuntime.Runtime.Filesystem
{
    /// <summary>
    /// Compact metadata returned when listing directory entries.
    /// Use FileInfoModel when full timestamps and existence details
    /// are required for one specific path.
    /// </summary>
    public sealed class DirectoryEntryModel
    {
        public string Path { get; set; }

        public string Name { get; set; }

        public string Extension { get; set; }

        public long Size { get; set; }

        public bool IsDirectory { get; set; }

        public bool IsSymbolicLink { get; set; }
    }


    /// <summary>
    /// Provider-independent file information.
    /// </summary>
    public sealed class FileInfoModel
    {
        public string Path { get; set; }

        public string Name { get; set; }

        public string Extension { get; set; }

        public long Size { get; set; }

        public DateTime CreatedUtc { get; set; }

        public DateTime ModifiedUtc { get; set; }

        public bool Exists { get; set; }

        public bool IsDirectory { get; set; }

        public bool IsSymbolicLink { get; set; }
    }
}
