import { WlSubsurfaceRequests, WlSubsurfaceResource, WlSurfaceResource } from 'westfield-runtime-server'; import { Point } from './math/Point'; import Session from './Session'; import Surface from './Surface'; import SurfaceRole from './SurfaceRole'; import View from './View'; export default class Subsurface implements WlSubsurfaceRequests, SurfaceRole { private readonly session; readonly parent: Surface; readonly surface: Surface; readonly resource: WlSubsurfaceResource; readonly view: View; static create(session: Session, parentWlSurfaceResource: WlSurfaceResource, wlSurfaceResource: WlSurfaceResource, wlSubsurfaceResource: WlSubsurfaceResource): Subsurface; pendingPosition?: Point; private sync; private cacheDirty; private readonly cachedState; private inert; private constructor(); private commitCache; onParentCommit(): void; private commitPendingToCache; onCommit(surface: Surface): void; destroy(resource: WlSubsurfaceResource): void; setPosition(resource: WlSubsurfaceResource, x: number, y: number): void; placeAbove(resource: WlSubsurfaceResource, sibling: WlSurfaceResource): void; placeBelow(resource: WlSubsurfaceResource, sibling: WlSurfaceResource): void; private get effectiveSync(); private get parentEffectiveSync(); setSync(resource: WlSubsurfaceResource): void; setDesync(resource: WlSubsurfaceResource): void; }