kui-shell
Version:
This is the monorepo for Kui, the hybrid command-line/GUI electron-based Kubernetes tool
19 lines (18 loc) • 1.09 kB
TypeScript
import { Tab } from '../../tab';
import { MetadataBearing } from '../../../models/entity';
import { Button } from '../../../models/mmr/types';
import { SidecarMode } from '../../bottom-stripe';
export declare type SidecarModeFilter<Resource extends MetadataBearing> = (resource: Resource) => boolean;
declare type ModeDeclaration<Resource extends MetadataBearing> = SidecarMode | ((command: string, resource: {
resource: Resource;
}) => SidecarMode) | Button;
export interface ModeRegistration<Resource extends MetadataBearing> {
when: SidecarModeFilter<Resource>;
mode: ModeDeclaration<Resource>;
}
export declare function registerSidecarMode<Resource extends MetadataBearing>(registration: ModeRegistration<Resource>): void;
export default registerSidecarMode;
export declare const registerModeWhen: <Resource extends MetadataBearing<void>>(when: SidecarModeFilter<Resource>) => (mode: ModeDeclaration<Resource>) => void;
export declare function apply<Resource extends MetadataBearing>(tab: Tab, modes: SidecarMode[], command: string, resource: {
resource: Resource;
}): void;