/** * Copyright (c) OpenLens Authors. All rights reserved. * Licensed under MIT License. See LICENSE in root directory for more information. */ import type { KubeObject } from "@k8slens/kube-object"; import type { StrictReactNode } from "@k8slens/utilities"; import type { TableSortCallback, SearchFilter, TableCellProps } from "./list-layout-column"; export interface BaseKubeObjectListLayoutColumn { id: string; priority: number; sortingCallBack?: TableSortCallback; searchFilter?: SearchFilter; header: TableCellProps | undefined | null; content: (item: K) => StrictReactNode | TableCellProps; } export interface GeneralKubeObjectListLayoutColumn extends BaseKubeObjectListLayoutColumn { kind: string; apiVersion: string | string[]; } export interface SpecificKubeListLayoutColumn extends BaseKubeObjectListLayoutColumn {}