@@ -55,6 +55,30 @@ declare type TypedJSONFile<Data> =
5555 * This is a very small representation of the available APIs.
5656 */
5757declare namespace GlobalBrowser {
58+ interface MozTabSplitViewWrapper extends XULElement {
59+ splitViewId : number ;
60+ tabs : BrowserTab [ ] ;
61+ hasActiveTab : boolean ;
62+ visible : boolean ;
63+ pinned : false ;
64+ group : MozTabbrowserGroup | null ;
65+ shouldMoveAllTabsAtOnce : boolean ;
66+ state : { id : number ; numberOfTabs : number } ;
67+ addTabs ( tabs : BrowserTab [ ] , options ?: { isSessionRestore ?: boolean ; indexOfReplacedTab ?: number } ) : void ;
68+ unsplitTabs ( trigger ?: string ) : void ;
69+ replaceTab ( tabToReplace : BrowserTab , newTab : BrowserTab ) : void ;
70+ reverseTabs ( trigger ?: string ) : void ;
71+ close ( trigger ?: string ) : void ;
72+ resetRightPanelWidth ( ) : void ;
73+ panels : XULElement [ ] ;
74+ }
75+
76+ interface AddTabSplitViewOptions {
77+ id ?: number ;
78+ insertBefore ?: MozTabbrowserTab ;
79+ trigger ?: "menu_add" | "menu_open" | "alt_click" | null ;
80+ }
81+
5882 interface GlobalBrowser {
5983 // tabs
6084 tabs : BrowserTab [ ] ;
@@ -84,8 +108,11 @@ declare namespace GlobalBrowser {
84108 currentURI : nsIURI ;
85109
86110 // split views
87- unsplitTabs ( splitview : any ) : void ;
88- addTabSplitView ( tabs : BrowserTab [ ] , opts ?: { id ?: number } ) : { splitViewId : number ; tabs : BrowserTab [ ] } | null ;
111+ unsplitTabs (
112+ splitview : MozTabSplitViewWrapper ,
113+ trigger ?: "menu_separate" | "icon_separate" | "icon_close" | "tab_close" | "footer_separate" | null ,
114+ ) : void ;
115+ addTabSplitView ( tabs : BrowserTab [ ] , opts ?: AddTabSplitViewOptions ) : MozTabSplitViewWrapper | null ;
89116
90117 // notifications
91118 getNotificationBox ( ) : NotificationBox ;
0 commit comments