import { Client, Registry, WlCompositorRequests, WlCompositorResource } from 'westfield-runtime-server'; import Session from './Session'; import Surface from './Surface'; export default class Compositor implements WlCompositorRequests { private readonly session; private surfaceCreationListeners; private global?; static create(session: Session): Compositor; private constructor(); registerGlobal(registry: Registry): void; unregisterGlobal(): void; bindClient(client: Client, id: number, version: number): void; createSurface(resource: WlCompositorResource, id: number): Promise; createRegion(resource: WlCompositorResource, id: number): void; removeSurfaceCreationListener(listener: (surface: Surface) => void): void; addSurfaceCreationListener(listener: (surface: Surface) => void): void; }