////////////////////////////////////////////////////// // BEWARE: DO NOT EDIT MANUALLY! Changes will be lost! ////////////////////////////////////////////////////// import { Events } from "./events"; /** * Namespace: browser.tabGroups */ export namespace TabGroups { /** * The group's color, using 'grey' spelling for compatibility with Chromium. */ type Color = "blue" | "cyan" | "grey" | "green" | "orange" | "pink" | "purple" | "red" | "yellow"; /** * State of a tab group inside of an open window. */ interface TabGroup { /** * Whether the tab group is collapsed or expanded in the tab strip. */ collapsed: boolean; /** * User-selected color name for the tab group's label/icons. */ color: Color; /** * Unique ID of the tab group. */ id: number; /** * User-defined name of the tab group. * Optional. */ title?: string; /** * Window that the tab group is in. */ windowId: number; } interface MoveMovePropertiesType { /** * The position in the window to move the group to. After moving, the first tab in the group is at this index. * -1 moves the group to the end of the window. */ index: number; /** * The ID of the window to move the group to. If not specified, the group is left in its current window. * Groups can only be moved to "normal" window types. * Optional. */ windowId?: number; } interface QueryQueryInfoType { /** * Optional. */ collapsed?: boolean; /** * Optional. */ color?: Color; /** * Optional. */ title?: string; /** * The ID of the parent window, or windows.WINDOW_ID_CURRENT for the current window. * Optional. */ windowId?: number; } interface UpdateUpdatePropertiesType { /** * Optional. */ collapsed?: boolean; /** * Optional. */ color?: Color; /** * Optional. */ title?: string; } interface OnRemovedRemoveInfoType { /** * True when the tab group is being closed because its window is being closed. */ isWindowClosing: boolean; } interface Static { /** * Retrieves details about the specified group. */ get(groupId: number): Promise; /** * Move a group within, or to another window. */ move(groupId: number, moveProperties: MoveMovePropertiesType): Promise; /** * Return all grups, or find groups with specified properties. */ query(queryInfo: QueryQueryInfoType): Promise; /** * Modifies state of a specified group. */ update(groupId: number, updateProperties: UpdateUpdatePropertiesType): Promise; /** * Fired when a tab group is created. */ onCreated: Events.Event<(group: TabGroup) => void>; /** * Fired when a tab group is moved, within a window or to another window. */ onMoved: Events.Event<(group: TabGroup) => void>; /** * Fired when a tab group is removed. */ onRemoved: Events.Event<(group: TabGroup, removeInfo: OnRemovedRemoveInfoType) => void>; /** * Fired when a tab group is updated. */ onUpdated: Events.Event<(group: TabGroup) => void>; /** * An ID that represents the absence of a group. */ TAB_GROUP_ID_NONE: -1; } }