import ExecOptions from './execOptions'; import { Entity, MarkdownResponse } from './entity'; /** * If your controller wants to manipulate the tab layout, this is your * response type! * */ type TabLayoutModificationResponse = { apiVersion: 'kui-shell/v1'; kind: 'TabLayoutModificationResponse'; spec: Request & { ok: MarkdownResponse; }; }; export type NewSplitRequest = { modification: 'NewSplit'; options?: Pick & { /** Splice the split at this index; default (and if out of range) is at-end */ index?: number; /** Use an inverted color scheme for the new split? */ inverseColors?: boolean; /** Is this split to be positioned specially, e.g. as a right strip? */ position?: 'default' | 'left-strip' | 'right-strip'; /** Execute this command line in the new split */ cmdline?: string; /** Only perform the split if the given command returns true */ if?: string; /** Only perform the split if the given command returns false */ ifnot?: string; /** Swap the positions of the given two splits */ swap?: { a: number; b: number; }; /** * Force this new split to have (or not) an active input, * independent of what the default behavior would otherwis * say? */ hasActiveInput?: boolean; }; }; type ModificationRequest = NewSplitRequest; export declare function isNewSplitRequest(req: TabLayoutModificationResponse): req is TabLayoutModificationResponse; export declare function isTabLayoutModificationResponse(entity: Entity): entity is TabLayoutModificationResponse; export default TabLayoutModificationResponse;