import { Tab } from './cli'; import { Table, MultiTable } from './models/table'; import { CustomSpec } from './views/sidecar'; import { ExecOptions } from '../models/execOptions'; import { Entity, EntitySpec, MetadataBearing } from '../models/entity'; import { Label, ModeTraits, Button } from '../models/mmr/types'; import { Content as HighLevelContent } from '../models/mmr/content-types'; declare type DirectViewController = string | DirectViewControllerFunction | DirectViewControllerSpec | DirectViewEntity; export declare type DirectViewControllerFunction = (tab: Tab, entity: E) => PromiseLike | R | void; declare type DirectViewEntity = CustomSpec; export interface DirectViewControllerSpec { plugin: string; operation: string; parameters: object; } interface Toggle { toggle: { mode: string; disabled: boolean; }[]; } export declare type DirectResult = Toggle | Entity; export interface LowLevelContent { flush?: 'right' | 'weak'; selected?: boolean; selectionController?: { on: (evt: 'change', cb: (selected: boolean) => void) => void; }; visibleWhen?: string; leaveBottomStripeAlone?: boolean; fontawesome?: string; labelBelow?: boolean; balloon?: string; balloonLength?: string; data?: Record; command?: (entity: EntitySpec | CustomSpec) => string; direct?: Direct; url?: string; execOptions?: ExecOptions; actAsButton?: boolean; radioButton?: boolean; echo?: boolean; noHistory?: boolean; replSilence?: boolean; } declare type Content = Button | HighLevelContent | LowLevelContent; export declare type SidecarMode = Label & ModeTraits & Content; export declare function isSidecarMode(entity: string | HTMLElement | Table | MultiTable | SidecarMode): entity is SidecarMode; interface BottomStripOptions { show?: string; preserveBackButton?: boolean; } export declare const rawCSS: { buttons: string; }; export declare const css: { buttons: (tab: Tab) => HTMLElement; backContainer: (tab: Tab) => HTMLElement; backButton: (tab: Tab) => HTMLElement; button: string; tab: string[]; buttonAction: string; buttonActingAsButton: string; buttonActingAsRadioButton: string; modeContainer: (tab: Tab) => HTMLElement; bottomContainer: (tab: Tab) => HTMLElement; active: string; selected: string; hidden: string; }; export declare const addModeButton: (tab: Tab, mode: SidecarMode, entity: Record) => HTMLAnchorElement | HTMLLIElement; export declare const addModeButtons: (tab: Tab, modesUnsorted: SidecarMode[], entity: EntitySpec | CustomSpec, options?: BottomStripOptions) => void; export {};