import { FrontendApplicationContribution } from '../frontend-application'; import { ApplicationShell } from './application-shell'; import { DisposableCollection } from '../../common/disposable'; import { Emitter, Event } from '../../common/event'; import { SplitPanel } from '@phosphor/widgets'; import { Widget } from '../widgets'; /** * Contribution that tracks `mouseup` and `mousedown` events. * * This is required to be able to track the `TabBar`, `DockPanel`, and `SidePanel` resizing and drag and drop events correctly * all over the application. By default, when the mouse is over an `iframe` we lose the mouse tracking ability, so whenever * we click (`mousedown`), we overlay a transparent `div` over the `iframe` in the Mini Browser, then we set the `display` of * the transparent `div` to `none` on `mouseup` events. */ export declare class ApplicationShellMouseTracker implements FrontendApplicationContribution { protected readonly applicationShell: ApplicationShell; protected readonly toDispose: DisposableCollection; protected readonly toDisposeOnActiveChange: DisposableCollection; protected readonly mouseupEmitter: Emitter; protected readonly mousedownEmitter: Emitter; protected readonly mouseupListener: (e: MouseEvent) => void; protected readonly mousedownListener: (e: MouseEvent) => void; onStart(): void; onStop(): void; get onMouseup(): Event; get onMousedown(): Event; } export declare namespace ApplicationShellMouseTracker { function isSplitPanel(arg: Widget): arg is SplitPanel; } //# sourceMappingURL=application-shell-mouse-tracker.d.ts.map