import { ComponentInputType, EntityFilterModelType, } from "../../../Types/Dashboard/DashboardComponents/ComponentArgument";
import { getViewModeArgument } from "./DashboardListSharedArgs";
export const KubernetesDisplaySection = {
    name: "Display Options",
    description: "Configure the widget title and row limit",
    order: 1,
};
export const KubernetesFiltersSection = {
    name: "Filters",
    description: "Narrow down which resources are shown",
    order: 2,
    defaultCollapsed: true,
};
export function getKubernetesCommonArguments(options) {
    const args = [];
    args.push({
        name: "Title",
        description: "Header shown above the list",
        required: false,
        type: ComponentInputType.Text,
        id: "title",
        section: KubernetesDisplaySection,
    });
    args.push({
        name: "Max Rows",
        description: "Maximum number of rows to show",
        required: false,
        type: ComponentInputType.Number,
        id: "maxRows",
        placeholder: "25",
        section: KubernetesDisplaySection,
    });
    args.push(getViewModeArgument(KubernetesDisplaySection));
    args.push({
        name: "Clusters",
        description: "Show only resources from the selected clusters",
        required: false,
        type: ComponentInputType.EntityMultiSelectDropdown,
        id: "kubernetesClusterIds",
        placeholder: "All clusters",
        section: KubernetesFiltersSection,
        entityFilterModelType: EntityFilterModelType.KubernetesCluster,
    });
    if (options.includeNamespaceFilter) {
        args.push({
            name: "Namespaces",
            description: "Comma-separated list of namespaces to include. Leave blank for all.",
            required: false,
            type: ComponentInputType.Text,
            id: "namespaces",
            placeholder: "default, kube-system",
            section: KubernetesFiltersSection,
        });
    }
    return args;
}
//# sourceMappingURL=DashboardKubernetesResourceListShared.js.map