import { Access, Environment, User, WIDGET_EVENT, Chat, Location, WidgetTarget } from '../common.js';
import WidgetResponse from '../response-objects/widget-response.js';
interface WidgetRequest {
    user: User;
    environment: Environment;
    access: Access;
    chat: Chat;
}
interface WidgetExecutionHandlerRequest extends WidgetRequest {
    target: WidgetTarget;
    event: WIDGET_EVENT;
    location: Location;
}
export default class WidgetHandler {
    viewHandler(handler: (req: WidgetExecutionHandlerRequest, res: WidgetResponse, ...args: Array<unknown>) => Promise<typeof res | undefined>): void;
    newWidgetResponse(): WidgetResponse;
}
export {};
