import { IPane, IPaneContent, PaneSplitAxis } from './types'; /** * Get a pane by its id and throw if it doesn't exist. */ export declare const mustGetPane: (panes: IPane[], paneId: string) => IPane; /** * Get a content by its id and throw if it doesn't exist. */ export declare const mustGetContent: (pane: IPane, contentId: string) => IPaneContent; /** * Mark pane having provided `paneId` current pane, * if it's already the current one, return untouched panes. */ export declare const setCurrentPane: (panes: IPane[], paneId: string) => IPane[]; /** * Append a content to current pane. * If the content already exists, doesn't re-append. * If the content is unique and already exists in the existing * panes, doesn't re-append, and set pane/content current, * meaning the content will remains unique across all panes * in the namespace. */ export declare const addContentToCurrentPane: (panes: IPane[], newContent: IPaneContent) => IPane[]; /** * Mark pane having provided `paneId` current pane, * and also mark content matching provided `contentId` current content. * Does not touch panes/contents already in desired state. */ export declare const setPaneCurrentContent: (panes: IPane[], paneId: string, contentId: string) => IPane[]; /** * Remove content from pane, if there's no remaining content * and pane does have a parent (childOf is defined), * un-split it. */ export declare const removePaneContent: (panes: IPane[], paneId: string, contentId: string) => IPane[]; /** * Remove a content from all panes in the namespace. */ export declare const removeContentFromAllPanes: (panes: IPane[], contentId: string) => IPane[]; /** * Split the pane whose id is `paneId` into two child panes, * also set it as current pane. * The new pane (second child) will be created with * pane current content. */ export declare const splitPane: (panes: IPane[], paneId: string, axis: PaneSplitAxis) => IPane[];