import { CommandRegistrar } from './command'; import { PrescanUsage } from '../plugins/prescan'; import { MetadataBearing } from '../models/entity'; import { BadgeRegistration, ModeRegistration } from '../api/registrars'; export declare type KuiPlugin = void | Promise; export declare type PluginRegistration = (commandTree: CommandRegistrar, options?: { usage: PrescanUsage; }) => KuiPlugin; export interface PreloadRegistrar extends CommandRegistrar { registerMode(registration: ModeRegistration): void; registerModes(...registrations: ModeRegistration[]): void; registerBadge(registration: BadgeRegistration): void; registerBadges(...registrations: BadgeRegistration[]): void; } export declare type PreloadRegistration = (registrar: PreloadRegistrar) => Promise; export declare type CapabilityRegistration = () => Promise;