import { KResponse } from './command'; import CellShould from './CellShould'; interface RadioTable { apiVersion: 'kui-shell/v1'; kind: 'RadioTable'; title: string; header: RadioTableRow; body: (RadioTableRow & Selectable)[]; defaultSelectedIdx: number; } export interface RadioTableRow { nameIdx?: number; cells: RadioTableCell[]; } export interface Selectable { /** * Handler for change of selection. This will be interpreted as a * Kui command line to be executed when the user clicks on the * corresponding row in the UI. * */ onSelect: string; onSelectExec?: 'qexec' | 'pexec'; } export declare function radioTableHintsAsCss(cell: RadioTableCell): string; /** Project the string value of the given `cell` */ export declare function radioTableCellToString(cell: RadioTableCell, useTitle?: boolean): string; /** Should the cell be rendered with a traffic light badge? */ export declare function cellShouldHaveBadge(cell: RadioTableCell): void | CellShould; /** Add the hint to the given RadioTableCell */ export declare function radioTableAddHint(row: RadioTableRow, cidx: number, newHints: CellShould[]): void; export type RadioTableCell = string | { key?: string; value: string; /** tooltip? */ title?: string; /** optional hints to improve rendering of the cells */ hints?: CellShould | CellShould[]; }; export declare function isRadioTable(response: KResponse): response is RadioTable; export default RadioTable;