import { DesktopSurface } from '../Desktop'; import { Point } from '../math/Point'; import { RectWithInfo } from '../math/Rect'; import { Size } from '../math/Size'; import Output from '../Output'; import { Pointer } from '../Pointer'; import Session from '../Session'; import Surface from '../Surface'; import { DesktopSurfaceRole } from '../SurfaceRole'; import View from '../View'; import { XWindow } from './XWindow'; export declare enum SurfaceState { NONE = 0, TOP_LEVEL = 1, MAXIMIZED = 2, FULLSCREEN = 3, TRANSIENT = 4, XWAYLAND = 5 } export default class XWaylandShellSurface implements DesktopSurfaceRole { readonly session: Session; readonly window: XWindow; readonly surface: Surface; readonly view: View; added: boolean; pid: number; state: SurfaceState; sendConfigure?: (size: Size) => void; sendPosition?: (position: Point) => void; frameDecoration?: { top: ImageData; bottom: ImageData; left: ImageData; right: ImageData; interiorWidth: number; interiorHeight: number; interiorX: number; interiorY: number; }; desktopSurface: DesktopSurface; private hasNextGeometry; private nextGeometry?; private committed; constructor(session: Session, window: XWindow, surface: Surface, view: View); static create(session: Session, window: XWindow, surface: Surface): XWaylandShellSurface; requestClose(): void; queryMaximized(): boolean; queryFullscreen(): boolean; queryGeometry(): RectWithInfo; queryMinSize(): Size; queryMaxSize(): Size; configureMaximized(maximized: boolean): void; configureFullscreen(fullscreen: boolean): void; configureSize(size: Size): void; configureActivated(activated: boolean): void; configureResizing(resizing: boolean): void; onCommit(surface: Surface): void; setToplevel(): void; setToplevelWithPosition(x: number, y: number): void; setParent(parent: Surface): void; setTransient(parent: Surface, x: number, y: number): void; setFullscreen(output?: Output): void; setXWayland(x: number, y: number): void; move(pointer: Pointer): void; resize(pointer: Pointer, edges: number): void; setTitle(title: string): void; setWindowGeometry(x: number, y: number, width: number, height: number): void; setMaximized(): void; setPid(pid: number): void; private withFrameDecoration; private changeState; private handleDestroy; }