using System;
using System.Collections.Generic;
using InABox.Core;
using Syncfusion.UI.Xaml.Grid;

namespace InABox.DynamicGrid;

public interface IDynamicGridEditorColumn
{
    DynamicGridColumn? Definition { get; set; }
    string? MappingName { get; }
    List<string> ExtraColumns { get; }

    GridColumn Column { get; }
    bool VariableWidth { get; }
    bool VariableHeight { get; }
    bool Filtered { get; }
    bool Editable { get; }

    GridSummaryColumn? Summary();

    Func<BaseObject>? GetEntity { get; set; }
    Action<Dictionary<string, object?>>? EntityChanged { get; set; }
}
