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: Resource) => boolean; declare type ModeDeclaration = SidecarMode | ((command: string, resource: { resource: Resource; }) => SidecarMode) | Button; export interface ModeRegistration { when: SidecarModeFilter; mode: ModeDeclaration; } export declare function registerSidecarMode(registration: ModeRegistration): void; export default registerSidecarMode; export declare const registerModeWhen: >(when: SidecarModeFilter) => (mode: ModeDeclaration) => void; export declare function apply(tab: Tab, modes: SidecarMode[], command: string, resource: { resource: Resource; }): void;