import { Client, Registry, WlDataDeviceManagerRequests, WlDataDeviceManagerResource, WlSeatResource } from 'westfield-runtime-server'; import Session from './Session'; /** * * The wldata_device_manager is a singleton global object that * provides access to inter-client data transfer mechanisms such as * copy-and-paste and drag-and-drop. These mechanisms are tied to * a wlseat and this interface lets a client get a wldata_device * corresponding to a wlseat. * * Depending on the version bound, the objects created from the bound * wldata_device_manager object will have different requirements for * functioning properly. See wldata_source.set_actions, * wldata_offer.accept and wldata_offer.finish for details. */ export default class DataDeviceManager implements WlDataDeviceManagerRequests { readonly session: Session; private global?; static create(session: Session): DataDeviceManager; constructor(session: Session); registerGlobal(registry: Registry): void; unregisterGlobal(): void; bindClient(client: Client, id: number, version: number): void; createDataSource(resource: WlDataDeviceManagerResource, id: number): void; getDataDevice(resource: WlDataDeviceManagerResource, id: number, seatResource: WlSeatResource): void; }