import Draggabilly from "draggabilly"; export interface TabProperties { id: string; title: string; active?: boolean; favicon?: boolean | string; faviconClass?: string; } declare class ChromeTabs { el: HTMLElement; styleEl: HTMLStyleElement; instanceId?: number; draggabillies: Draggabilly[]; isDragging: any; draggabillyDragging: any; isMouseEnter: boolean; mouseEnterLayoutResolve: null | (() => void); constructor(); init(el: HTMLElement): void; emit(eventName: string, data: any): void; setupCustomProperties(): void; setupStyleEl(): void; setupEvents(): void; onResize: () => void; onMouseLeave: () => void; get tabEls(): any[]; get tabContentEl(): Element; get tabContentWidths(): number[]; get tabContentPositions(): number[]; get tabPositions(): number[]; layoutTabs(): void; createNewTabEl(): Element | null; addTab(tabProperties?: TabProperties, { animate, background }?: { animate?: boolean | undefined; background?: boolean | undefined; }): HTMLElement; setTabCloseEventListener(tabEl: HTMLElement): void; get activeTabEl(): Element | null; hasActiveTab(): boolean; setCurrentTab(tabEl: HTMLElement): void; removeTab(tabEl: HTMLElement): void; updateTab(tabEl: HTMLElement, tabProperties: TabProperties): void; cleanUpPreviouslyDraggedTabs(): void; setupDraggabilly(): void; animateTabMove(tabEl: HTMLElement, originIndex: number, destinationIndex: number): void; destroy(): void; } export default ChromeTabs;