import { Tab } from '../../webapp/tab';
import { MetadataBearing } from '../entity';
import { CustomSpec } from '../../webapp/views/sidecar';
import { SidecarMode } from '../../webapp/bottom-stripe';
import { Table, MultiTable } from '../../webapp/models/table';
import { MultiModalResponse, Button } from './types';
import { Content, ScalarResource } from './content-types';
declare type Viewable = CustomSpec | HTMLElement | Table | MultiTable;
export declare function format<T extends MetadataBearing>(tab: Tab, mmr: T, resource: ScalarResource | Content<T>): Promise<Viewable>;
export declare function formatButton<T extends MetadataBearing>(tab: Tab, resource: T, { mode, label, command, confirm, kind }: Button): SidecarMode;
export declare function show(tab: Tab, mmr: MultiModalResponse): Promise<import("../../webapp/views/presentation").default>;
export {};
