import { WlDataDeviceManagerDndAction, WlDataSourceRequests, WlDataSourceResource, WlDataDeviceResource } from 'westfield-runtime-server'; import DataOffer from './DataOffer'; import Session from './Session'; import { DataSource } from './DataSource'; import { GWebFD } from './WebFS'; export declare function createWaylandDataSource(session: Session, wlDataSourceResource: WlDataSourceResource): WaylandDataSource; export declare function sendOffer(session: Session, dataSource: DataSource, target: WlDataDeviceResource): DataOffer; /** * * The wl_data_source object is the source side of a wl_data_offer. * It is created by the source client in a data transfer and * provides a way to describe the offered data and a way to respond * to requests to transfer the data. */ export declare class WaylandDataSource implements WlDataSourceRequests, DataSource { readonly session: Session; readonly resource: WlDataSourceResource; readonly client: import("westfield-runtime-server").Client; mimeTypes: string[]; dndActions: number; currentDndAction: WlDataDeviceManagerDndAction; compositorAction: WlDataDeviceManagerDndAction; accepted: boolean; dataOffer?: DataOffer; actionsSet: boolean; setSelection: boolean; version: number; constructor(session: Session, resource: WlDataSourceResource, client?: import("westfield-runtime-server").Client); addDestroyListener(destroyListener: () => void): void; removeDestroyListener(destroyListener: () => void): void; destroyDataSource(): void; onDestroy(): Promise; accept(mimeType: string | undefined): void; send(mimeType: string, gWebFD: GWebFD): void; cancel(): void; destroy(resource: WlDataSourceResource): void; offer(resource: WlDataSourceResource, mimeType: string): void; setActions(resource: WlDataSourceResource, dndActions: number): void; notifyFinish(): void; action(action: WlDataDeviceManagerDndAction): void; dndDropPerformed(): void; }