import { WebFD } from 'westfield-runtime-common'; import { WlDataDeviceManagerDndAction, WlDataDeviceResource, WlDataOfferRequests, WlDataOfferResource } from 'westfield-runtime-server'; import { DataSource } from './DataSource'; import Session from './Session'; export default class DataOffer implements WlDataOfferRequests { private readonly session; readonly resource: WlDataOfferResource; source?: DataSource | undefined; inAsk: boolean; dndActions: number; preferredDndAction: WlDataDeviceManagerDndAction; private constructor(); static create(session: Session, source: DataSource, offerId: number, dataDeviceResource: WlDataDeviceResource): DataOffer; readonly sourceDestroyListener: () => void; accept(resource: WlDataOfferResource, serial: number, mimeType: string | undefined): void; destroy(resource: WlDataOfferResource): void; finish(resource: WlDataOfferResource): void; receive(resource: WlDataOfferResource, mimeType: string, fd: WebFD): void; setActions(resource: WlDataOfferResource, dndActions: number, preferredAction: number): void; updateAction(): void; private handleDestroy; private chooseAction; }