import * as _microsoft_spark_api from '@microsoft/spark.api';
import { ActivityParams, ConversationReference } from '@microsoft/spark.api';
import http from 'http';
import express from 'express';
import io from 'socket.io';
import { Logger, EventEmitter, EventHandler } from '@microsoft/spark.common';
import { Plugin, HttpPlugin, PluginEvents, App, Streamer, AppActivityReceivedEvent, AppActivitySentEvent, AppActivityResponseEvent } from '@microsoft/spark.apps';
import { Event, ActivityEvent } from './event.js';

interface ResolveRejctPromise<T = any> {
    readonly resolve: (value: T) => void;
    readonly reject: (err: any) => void;
}
declare class DevtoolsPlugin implements Plugin {
    readonly name = "devtools";
    protected log: Logger;
    protected http: http.Server;
    protected express: express.Application;
    protected io: io.Server;
    protected sockets: Map<string, io.Socket<io.DefaultEventsMap, io.DefaultEventsMap, io.DefaultEventsMap, any>>;
    protected httpPlugin: HttpPlugin;
    protected events: EventEmitter<PluginEvents>;
    protected pending: Record<string, ResolveRejctPromise>;
    constructor();
    on<Name extends keyof PluginEvents>(name: Name, callback: EventHandler<PluginEvents[Name]>): void;
    onInit(app: App): void;
    /**
     * start listening
     * @param port port to listen on
     */
    onStart(port?: number): Promise<void>;
    onSend(activity: ActivityParams, ref: ConversationReference): Promise<{
        id: string;
        type: "message";
        text?: string | undefined;
        speak?: string | undefined;
        inputHint?: _microsoft_spark_api.InputHint | undefined;
        summary?: string | undefined;
        textFormat?: _microsoft_spark_api.TextFormat | undefined;
        attachmentLayout?: _microsoft_spark_api.AttachmentLayout | undefined;
        attachments?: _microsoft_spark_api.Attachment[] | undefined;
        suggestedActions?: _microsoft_spark_api.SuggestedActions | undefined;
        importance?: _microsoft_spark_api.Importance | undefined;
        deliveryMode?: _microsoft_spark_api.DeliveryMode | undefined;
        expiration?: Date | undefined;
        value?: any;
        serviceUrl?: string | undefined;
        timestamp?: Date | undefined;
        locale?: string | undefined;
        localTimestamp?: Date | undefined;
        channelId?: _microsoft_spark_api.ChannelID | undefined;
        from?: _microsoft_spark_api.Account<any> | undefined;
        conversation?: _microsoft_spark_api.ConversationAccount | undefined;
        relatesTo?: ConversationReference | undefined;
        recipient?: _microsoft_spark_api.Account<any> | undefined;
        replyToId?: string | undefined;
        entities?: _microsoft_spark_api.Entity[] | undefined;
        channelData?: _microsoft_spark_api.ChannelData | undefined;
    } | {
        id: string;
        type: "messageUpdate";
        text?: string | undefined;
        speak?: string | undefined;
        summary?: string | undefined;
        expiration?: Date | undefined;
        value?: any;
        channelData?: (_microsoft_spark_api.ChannelData & {
            eventType: "undeleteMessage" | "editMessage";
        }) | undefined;
        serviceUrl?: string | undefined;
        timestamp?: Date | undefined;
        locale?: string | undefined;
        localTimestamp?: Date | undefined;
        channelId?: _microsoft_spark_api.ChannelID | undefined;
        from?: _microsoft_spark_api.Account<any> | undefined;
        conversation?: _microsoft_spark_api.ConversationAccount | undefined;
        relatesTo?: ConversationReference | undefined;
        recipient?: _microsoft_spark_api.Account<any> | undefined;
        replyToId?: string | undefined;
        entities?: _microsoft_spark_api.Entity[] | undefined;
    } | {
        id: string;
        type: "messageDelete";
        channelData?: (_microsoft_spark_api.ChannelData & {
            eventType: "softDeleteMessage";
        }) | undefined;
        serviceUrl?: string | undefined;
        timestamp?: Date | undefined;
        locale?: string | undefined;
        localTimestamp?: Date | undefined;
        channelId?: _microsoft_spark_api.ChannelID | undefined;
        from?: _microsoft_spark_api.Account<any> | undefined;
        conversation?: _microsoft_spark_api.ConversationAccount | undefined;
        relatesTo?: ConversationReference | undefined;
        recipient?: _microsoft_spark_api.Account<any> | undefined;
        replyToId?: string | undefined;
        entities?: _microsoft_spark_api.Entity[] | undefined;
    } | {
        id: string;
        type: "messageReaction";
        reactionsAdded?: _microsoft_spark_api.MessageReaction[] | undefined;
        reactionsRemoved?: _microsoft_spark_api.MessageReaction[] | undefined;
        serviceUrl?: string | undefined;
        timestamp?: Date | undefined;
        locale?: string | undefined;
        localTimestamp?: Date | undefined;
        channelId?: _microsoft_spark_api.ChannelID | undefined;
        from?: _microsoft_spark_api.Account<any> | undefined;
        conversation?: _microsoft_spark_api.ConversationAccount | undefined;
        relatesTo?: ConversationReference | undefined;
        recipient?: _microsoft_spark_api.Account<any> | undefined;
        replyToId?: string | undefined;
        entities?: _microsoft_spark_api.Entity[] | undefined;
        channelData?: _microsoft_spark_api.ChannelData | undefined;
    } | {
        id: string;
        type: "event";
        name?: "application/vnd.microsoft.readReceipt" | undefined;
        serviceUrl?: string | undefined;
        timestamp?: Date | undefined;
        locale?: string | undefined;
        localTimestamp?: Date | undefined;
        channelId?: _microsoft_spark_api.ChannelID | undefined;
        from?: _microsoft_spark_api.Account<any> | undefined;
        conversation?: _microsoft_spark_api.ConversationAccount | undefined;
        relatesTo?: ConversationReference | undefined;
        recipient?: _microsoft_spark_api.Account<any> | undefined;
        replyToId?: string | undefined;
        entities?: _microsoft_spark_api.Entity[] | undefined;
        channelData?: _microsoft_spark_api.ChannelData | undefined;
    } | {
        id: string;
        type: "event";
        name?: "application/vnd.microsoft.meetingStart" | undefined;
        value?: {
            id: string;
            meetingType: string;
            joinUrl: string;
            title: string;
            startTime: Date;
        } | undefined;
        serviceUrl?: string | undefined;
        timestamp?: Date | undefined;
        locale?: string | undefined;
        localTimestamp?: Date | undefined;
        channelId?: _microsoft_spark_api.ChannelID | undefined;
        from?: _microsoft_spark_api.Account<any> | undefined;
        conversation?: _microsoft_spark_api.ConversationAccount | undefined;
        relatesTo?: ConversationReference | undefined;
        recipient?: _microsoft_spark_api.Account<any> | undefined;
        replyToId?: string | undefined;
        entities?: _microsoft_spark_api.Entity[] | undefined;
        channelData?: _microsoft_spark_api.ChannelData | undefined;
    } | {
        id: string;
        type: "event";
        name?: "application/vnd.microsoft.meetingEnd" | undefined;
        value?: {
            id: string;
            meetingType: string;
            joinUrl: string;
            title: string;
            endTime: Date;
        } | undefined;
        serviceUrl?: string | undefined;
        timestamp?: Date | undefined;
        locale?: string | undefined;
        localTimestamp?: Date | undefined;
        channelId?: _microsoft_spark_api.ChannelID | undefined;
        from?: _microsoft_spark_api.Account<any> | undefined;
        conversation?: _microsoft_spark_api.ConversationAccount | undefined;
        relatesTo?: ConversationReference | undefined;
        recipient?: _microsoft_spark_api.Account<any> | undefined;
        replyToId?: string | undefined;
        entities?: _microsoft_spark_api.Entity[] | undefined;
        channelData?: _microsoft_spark_api.ChannelData | undefined;
    } | {
        id: string;
        type: "event";
        name?: "application/vnd.microsoft.meetingParticipantJoin" | undefined;
        value?: {
            members: {
                user: _microsoft_spark_api.Account;
                meeting: {
                    inMeeting: boolean;
                    role: string;
                };
            }[];
        } | undefined;
        serviceUrl?: string | undefined;
        timestamp?: Date | undefined;
        locale?: string | undefined;
        localTimestamp?: Date | undefined;
        channelId?: _microsoft_spark_api.ChannelID | undefined;
        from?: _microsoft_spark_api.Account<any> | undefined;
        conversation?: _microsoft_spark_api.ConversationAccount | undefined;
        relatesTo?: ConversationReference | undefined;
        recipient?: _microsoft_spark_api.Account<any> | undefined;
        replyToId?: string | undefined;
        entities?: _microsoft_spark_api.Entity[] | undefined;
        channelData?: _microsoft_spark_api.ChannelData | undefined;
    } | {
        id: string;
        type: "event";
        name?: "application/vnd.microsoft.meetingParticipantLeave" | undefined;
        value?: {
            members: {
                user: _microsoft_spark_api.Account;
                meeting: {
                    inMeeting: boolean;
                    role: string;
                };
            }[];
        } | undefined;
        serviceUrl?: string | undefined;
        timestamp?: Date | undefined;
        locale?: string | undefined;
        localTimestamp?: Date | undefined;
        channelId?: _microsoft_spark_api.ChannelID | undefined;
        from?: _microsoft_spark_api.Account<any> | undefined;
        conversation?: _microsoft_spark_api.ConversationAccount | undefined;
        relatesTo?: ConversationReference | undefined;
        recipient?: _microsoft_spark_api.Account<any> | undefined;
        replyToId?: string | undefined;
        entities?: _microsoft_spark_api.Entity[] | undefined;
        channelData?: _microsoft_spark_api.ChannelData | undefined;
    } | {
        id: string;
        type: "invoke";
        name?: "fileConsent/invoke" | undefined;
        value?: _microsoft_spark_api.FileConsentCardResponse | undefined;
        relatesTo?: ConversationReference | undefined;
        serviceUrl?: string | undefined;
        timestamp?: Date | undefined;
        locale?: string | undefined;
        localTimestamp?: Date | undefined;
        channelId?: _microsoft_spark_api.ChannelID | undefined;
        from?: _microsoft_spark_api.Account<any> | undefined;
        conversation?: _microsoft_spark_api.ConversationAccount | undefined;
        recipient?: _microsoft_spark_api.Account<any> | undefined;
        replyToId?: string | undefined;
        entities?: _microsoft_spark_api.Entity[] | undefined;
        channelData?: _microsoft_spark_api.ChannelData | undefined;
    } | {
        id: string;
        type: "invoke";
        name?: "actionableMessage/executeAction" | undefined;
        value?: _microsoft_spark_api.O365ConnectorCardActionQuery | undefined;
        relatesTo?: ConversationReference | undefined;
        serviceUrl?: string | undefined;
        timestamp?: Date | undefined;
        locale?: string | undefined;
        localTimestamp?: Date | undefined;
        channelId?: _microsoft_spark_api.ChannelID | undefined;
        from?: _microsoft_spark_api.Account<any> | undefined;
        conversation?: _microsoft_spark_api.ConversationAccount | undefined;
        recipient?: _microsoft_spark_api.Account<any> | undefined;
        replyToId?: string | undefined;
        entities?: _microsoft_spark_api.Entity[] | undefined;
        channelData?: _microsoft_spark_api.ChannelData | undefined;
    } | {
        id: string;
        type: "invoke";
        name?: "composeExtension/anonymousQueryLink" | undefined;
        value?: _microsoft_spark_api.AppBasedLinkQuery | undefined;
        relatesTo?: ConversationReference | undefined;
        serviceUrl?: string | undefined;
        timestamp?: Date | undefined;
        locale?: string | undefined;
        localTimestamp?: Date | undefined;
        channelId?: _microsoft_spark_api.ChannelID | undefined;
        from?: _microsoft_spark_api.Account<any> | undefined;
        conversation?: _microsoft_spark_api.ConversationAccount | undefined;
        recipient?: _microsoft_spark_api.Account<any> | undefined;
        replyToId?: string | undefined;
        entities?: _microsoft_spark_api.Entity[] | undefined;
        channelData?: _microsoft_spark_api.ChannelData | undefined;
    } | {
        id: string;
        type: "invoke";
        name?: "composeExtension/fetchTask" | undefined;
        value?: _microsoft_spark_api.MessagingExtensionAction | undefined;
        relatesTo?: ConversationReference | undefined;
        serviceUrl?: string | undefined;
        timestamp?: Date | undefined;
        locale?: string | undefined;
        localTimestamp?: Date | undefined;
        channelId?: _microsoft_spark_api.ChannelID | undefined;
        from?: _microsoft_spark_api.Account<any> | undefined;
        conversation?: _microsoft_spark_api.ConversationAccount | undefined;
        recipient?: _microsoft_spark_api.Account<any> | undefined;
        replyToId?: string | undefined;
        entities?: _microsoft_spark_api.Entity[] | undefined;
        channelData?: _microsoft_spark_api.ChannelData | undefined;
    } | {
        id: string;
        type: "invoke";
        name?: "composeExtension/onCardButtonClicked" | undefined;
        value?: any;
        relatesTo?: ConversationReference | undefined;
        serviceUrl?: string | undefined;
        timestamp?: Date | undefined;
        locale?: string | undefined;
        localTimestamp?: Date | undefined;
        channelId?: _microsoft_spark_api.ChannelID | undefined;
        from?: _microsoft_spark_api.Account<any> | undefined;
        conversation?: _microsoft_spark_api.ConversationAccount | undefined;
        recipient?: _microsoft_spark_api.Account<any> | undefined;
        replyToId?: string | undefined;
        entities?: _microsoft_spark_api.Entity[] | undefined;
        channelData?: _microsoft_spark_api.ChannelData | undefined;
    } | {
        id: string;
        type: "invoke";
        name?: "composeExtension/queryLink" | undefined;
        value?: _microsoft_spark_api.AppBasedLinkQuery | undefined;
        relatesTo?: ConversationReference | undefined;
        serviceUrl?: string | undefined;
        timestamp?: Date | undefined;
        locale?: string | undefined;
        localTimestamp?: Date | undefined;
        channelId?: _microsoft_spark_api.ChannelID | undefined;
        from?: _microsoft_spark_api.Account<any> | undefined;
        conversation?: _microsoft_spark_api.ConversationAccount | undefined;
        recipient?: _microsoft_spark_api.Account<any> | undefined;
        replyToId?: string | undefined;
        entities?: _microsoft_spark_api.Entity[] | undefined;
        channelData?: _microsoft_spark_api.ChannelData | undefined;
    } | {
        id: string;
        type: "invoke";
        name?: "composeExtension/querySettingUrl" | undefined;
        value?: _microsoft_spark_api.MessagingExtensionQuery | undefined;
        relatesTo?: ConversationReference | undefined;
        serviceUrl?: string | undefined;
        timestamp?: Date | undefined;
        locale?: string | undefined;
        localTimestamp?: Date | undefined;
        channelId?: _microsoft_spark_api.ChannelID | undefined;
        from?: _microsoft_spark_api.Account<any> | undefined;
        conversation?: _microsoft_spark_api.ConversationAccount | undefined;
        recipient?: _microsoft_spark_api.Account<any> | undefined;
        replyToId?: string | undefined;
        entities?: _microsoft_spark_api.Entity[] | undefined;
        channelData?: _microsoft_spark_api.ChannelData | undefined;
    } | {
        id: string;
        type: "invoke";
        name?: "composeExtension/query" | undefined;
        value?: _microsoft_spark_api.MessagingExtensionQuery | undefined;
        relatesTo?: ConversationReference | undefined;
        serviceUrl?: string | undefined;
        timestamp?: Date | undefined;
        locale?: string | undefined;
        localTimestamp?: Date | undefined;
        channelId?: _microsoft_spark_api.ChannelID | undefined;
        from?: _microsoft_spark_api.Account<any> | undefined;
        conversation?: _microsoft_spark_api.ConversationAccount | undefined;
        recipient?: _microsoft_spark_api.Account<any> | undefined;
        replyToId?: string | undefined;
        entities?: _microsoft_spark_api.Entity[] | undefined;
        channelData?: _microsoft_spark_api.ChannelData | undefined;
    } | {
        id: string;
        type: "invoke";
        name?: "composeExtension/selectItem" | undefined;
        value?: any;
        relatesTo?: ConversationReference | undefined;
        serviceUrl?: string | undefined;
        timestamp?: Date | undefined;
        locale?: string | undefined;
        localTimestamp?: Date | undefined;
        channelId?: _microsoft_spark_api.ChannelID | undefined;
        from?: _microsoft_spark_api.Account<any> | undefined;
        conversation?: _microsoft_spark_api.ConversationAccount | undefined;
        recipient?: _microsoft_spark_api.Account<any> | undefined;
        replyToId?: string | undefined;
        entities?: _microsoft_spark_api.Entity[] | undefined;
        channelData?: _microsoft_spark_api.ChannelData | undefined;
    } | {
        id: string;
        type: "invoke";
        name?: "composeExtension/setting" | undefined;
        value?: _microsoft_spark_api.MessagingExtensionQuery | undefined;
        relatesTo?: ConversationReference | undefined;
        serviceUrl?: string | undefined;
        timestamp?: Date | undefined;
        locale?: string | undefined;
        localTimestamp?: Date | undefined;
        channelId?: _microsoft_spark_api.ChannelID | undefined;
        from?: _microsoft_spark_api.Account<any> | undefined;
        conversation?: _microsoft_spark_api.ConversationAccount | undefined;
        recipient?: _microsoft_spark_api.Account<any> | undefined;
        replyToId?: string | undefined;
        entities?: _microsoft_spark_api.Entity[] | undefined;
        channelData?: _microsoft_spark_api.ChannelData | undefined;
    } | {
        id: string;
        type: "invoke";
        name?: "composeExtension/submitAction" | undefined;
        value?: _microsoft_spark_api.MessagingExtensionAction | undefined;
        relatesTo?: ConversationReference | undefined;
        serviceUrl?: string | undefined;
        timestamp?: Date | undefined;
        locale?: string | undefined;
        localTimestamp?: Date | undefined;
        channelId?: _microsoft_spark_api.ChannelID | undefined;
        from?: _microsoft_spark_api.Account<any> | undefined;
        conversation?: _microsoft_spark_api.ConversationAccount | undefined;
        recipient?: _microsoft_spark_api.Account<any> | undefined;
        replyToId?: string | undefined;
        entities?: _microsoft_spark_api.Entity[] | undefined;
        channelData?: _microsoft_spark_api.ChannelData | undefined;
    } | {
        id: string;
        type: "invoke";
        name?: "config/fetch" | undefined;
        value?: any;
        relatesTo?: ConversationReference | undefined;
        serviceUrl?: string | undefined;
        timestamp?: Date | undefined;
        locale?: string | undefined;
        localTimestamp?: Date | undefined;
        channelId?: _microsoft_spark_api.ChannelID | undefined;
        from?: _microsoft_spark_api.Account<any> | undefined;
        conversation?: _microsoft_spark_api.ConversationAccount | undefined;
        recipient?: _microsoft_spark_api.Account<any> | undefined;
        replyToId?: string | undefined;
        entities?: _microsoft_spark_api.Entity[] | undefined;
        channelData?: _microsoft_spark_api.ChannelData | undefined;
    } | {
        id: string;
        type: "invoke";
        name?: "config/submit" | undefined;
        value?: any;
        relatesTo?: ConversationReference | undefined;
        serviceUrl?: string | undefined;
        timestamp?: Date | undefined;
        locale?: string | undefined;
        localTimestamp?: Date | undefined;
        channelId?: _microsoft_spark_api.ChannelID | undefined;
        from?: _microsoft_spark_api.Account<any> | undefined;
        conversation?: _microsoft_spark_api.ConversationAccount | undefined;
        recipient?: _microsoft_spark_api.Account<any> | undefined;
        replyToId?: string | undefined;
        entities?: _microsoft_spark_api.Entity[] | undefined;
        channelData?: _microsoft_spark_api.ChannelData | undefined;
    } | {
        id: string;
        type: "invoke";
        name?: "tab/fetch" | undefined;
        value?: _microsoft_spark_api.TabRequest | undefined;
        relatesTo?: ConversationReference | undefined;
        serviceUrl?: string | undefined;
        timestamp?: Date | undefined;
        locale?: string | undefined;
        localTimestamp?: Date | undefined;
        channelId?: _microsoft_spark_api.ChannelID | undefined;
        from?: _microsoft_spark_api.Account<any> | undefined;
        conversation?: _microsoft_spark_api.ConversationAccount | undefined;
        recipient?: _microsoft_spark_api.Account<any> | undefined;
        replyToId?: string | undefined;
        entities?: _microsoft_spark_api.Entity[] | undefined;
        channelData?: _microsoft_spark_api.ChannelData | undefined;
    } | {
        id: string;
        type: "invoke";
        name?: "tab/submit" | undefined;
        value?: _microsoft_spark_api.TabRequest | undefined;
        relatesTo?: ConversationReference | undefined;
        serviceUrl?: string | undefined;
        timestamp?: Date | undefined;
        locale?: string | undefined;
        localTimestamp?: Date | undefined;
        channelId?: _microsoft_spark_api.ChannelID | undefined;
        from?: _microsoft_spark_api.Account<any> | undefined;
        conversation?: _microsoft_spark_api.ConversationAccount | undefined;
        recipient?: _microsoft_spark_api.Account<any> | undefined;
        replyToId?: string | undefined;
        entities?: _microsoft_spark_api.Entity[] | undefined;
        channelData?: _microsoft_spark_api.ChannelData | undefined;
    } | {
        id: string;
        type: "invoke";
        name?: "task/fetch" | undefined;
        value?: _microsoft_spark_api.TaskModuleRequest | undefined;
        relatesTo?: ConversationReference | undefined;
        serviceUrl?: string | undefined;
        timestamp?: Date | undefined;
        locale?: string | undefined;
        localTimestamp?: Date | undefined;
        channelId?: _microsoft_spark_api.ChannelID | undefined;
        from?: _microsoft_spark_api.Account<any> | undefined;
        conversation?: _microsoft_spark_api.ConversationAccount | undefined;
        recipient?: _microsoft_spark_api.Account<any> | undefined;
        replyToId?: string | undefined;
        entities?: _microsoft_spark_api.Entity[] | undefined;
        channelData?: _microsoft_spark_api.ChannelData | undefined;
    } | {
        id: string;
        type: "invoke";
        name?: "task/submit" | undefined;
        value?: _microsoft_spark_api.TaskModuleRequest | undefined;
        relatesTo?: ConversationReference | undefined;
        serviceUrl?: string | undefined;
        timestamp?: Date | undefined;
        locale?: string | undefined;
        localTimestamp?: Date | undefined;
        channelId?: _microsoft_spark_api.ChannelID | undefined;
        from?: _microsoft_spark_api.Account<any> | undefined;
        conversation?: _microsoft_spark_api.ConversationAccount | undefined;
        recipient?: _microsoft_spark_api.Account<any> | undefined;
        replyToId?: string | undefined;
        entities?: _microsoft_spark_api.Entity[] | undefined;
        channelData?: _microsoft_spark_api.ChannelData | undefined;
    } | {
        id: string;
        type: "invoke";
        name?: "message/submitAction" | undefined;
        value?: {
            actionName: "feedback";
            actionValue: {
                reaction: "like" | "dislike";
                feedback: string;
            };
        } | undefined;
        relatesTo?: ConversationReference | undefined;
        serviceUrl?: string | undefined;
        timestamp?: Date | undefined;
        locale?: string | undefined;
        localTimestamp?: Date | undefined;
        channelId?: _microsoft_spark_api.ChannelID | undefined;
        from?: _microsoft_spark_api.Account<any> | undefined;
        conversation?: _microsoft_spark_api.ConversationAccount | undefined;
        recipient?: _microsoft_spark_api.Account<any> | undefined;
        replyToId?: string | undefined;
        entities?: _microsoft_spark_api.Entity[] | undefined;
        channelData?: _microsoft_spark_api.ChannelData | undefined;
    } | {
        id: string;
        type: "invoke";
        name?: "handoff/action" | undefined;
        value?: {
            continuation: string;
        } | undefined;
        relatesTo?: ConversationReference | undefined;
        serviceUrl?: string | undefined;
        timestamp?: Date | undefined;
        locale?: string | undefined;
        localTimestamp?: Date | undefined;
        channelId?: _microsoft_spark_api.ChannelID | undefined;
        from?: _microsoft_spark_api.Account<any> | undefined;
        conversation?: _microsoft_spark_api.ConversationAccount | undefined;
        recipient?: _microsoft_spark_api.Account<any> | undefined;
        replyToId?: string | undefined;
        entities?: _microsoft_spark_api.Entity[] | undefined;
        channelData?: _microsoft_spark_api.ChannelData | undefined;
    } | {
        id: string;
        type: "invoke";
        name?: "signin/tokenExchange" | undefined;
        value?: _microsoft_spark_api.SignInExchangeToken | undefined;
        serviceUrl?: string | undefined;
        timestamp?: Date | undefined;
        locale?: string | undefined;
        localTimestamp?: Date | undefined;
        channelId?: _microsoft_spark_api.ChannelID | undefined;
        from?: _microsoft_spark_api.Account<any> | undefined;
        conversation?: _microsoft_spark_api.ConversationAccount | undefined;
        relatesTo?: ConversationReference | undefined;
        recipient?: _microsoft_spark_api.Account<any> | undefined;
        replyToId?: string | undefined;
        entities?: _microsoft_spark_api.Entity[] | undefined;
        channelData?: _microsoft_spark_api.ChannelData | undefined;
    } | {
        id: string;
        type: "invoke";
        name?: "signin/verifyState" | undefined;
        value?: _microsoft_spark_api.SigninStateVerifyQuery | undefined;
        serviceUrl?: string | undefined;
        timestamp?: Date | undefined;
        locale?: string | undefined;
        localTimestamp?: Date | undefined;
        channelId?: _microsoft_spark_api.ChannelID | undefined;
        from?: _microsoft_spark_api.Account<any> | undefined;
        conversation?: _microsoft_spark_api.ConversationAccount | undefined;
        relatesTo?: ConversationReference | undefined;
        recipient?: _microsoft_spark_api.Account<any> | undefined;
        replyToId?: string | undefined;
        entities?: _microsoft_spark_api.Entity[] | undefined;
        channelData?: _microsoft_spark_api.ChannelData | undefined;
    } | {
        id: string;
        type: "invoke";
        name?: "adaptiveCard/action" | undefined;
        value?: _microsoft_spark_api.AdaptiveCardInvokeValue | undefined;
        serviceUrl?: string | undefined;
        timestamp?: Date | undefined;
        locale?: string | undefined;
        localTimestamp?: Date | undefined;
        channelId?: _microsoft_spark_api.ChannelID | undefined;
        from?: _microsoft_spark_api.Account<any> | undefined;
        conversation?: _microsoft_spark_api.ConversationAccount | undefined;
        relatesTo?: ConversationReference | undefined;
        recipient?: _microsoft_spark_api.Account<any> | undefined;
        replyToId?: string | undefined;
        entities?: _microsoft_spark_api.Entity[] | undefined;
        channelData?: _microsoft_spark_api.ChannelData | undefined;
    } | {
        id: string;
        type: "trace";
        name?: string | undefined;
        label?: string | undefined;
        valueType?: string | undefined;
        value?: any;
        relatesTo?: ConversationReference | undefined;
        serviceUrl?: string | undefined;
        timestamp?: Date | undefined;
        locale?: string | undefined;
        localTimestamp?: Date | undefined;
        channelId?: _microsoft_spark_api.ChannelID | undefined;
        from?: _microsoft_spark_api.Account<any> | undefined;
        conversation?: _microsoft_spark_api.ConversationAccount | undefined;
        recipient?: _microsoft_spark_api.Account<any> | undefined;
        replyToId?: string | undefined;
        entities?: _microsoft_spark_api.Entity[] | undefined;
        channelData?: _microsoft_spark_api.ChannelData | undefined;
    } | {
        id: string;
        type: "typing";
        text?: string | undefined;
        serviceUrl?: string | undefined;
        timestamp?: Date | undefined;
        locale?: string | undefined;
        localTimestamp?: Date | undefined;
        channelId?: _microsoft_spark_api.ChannelID | undefined;
        from?: _microsoft_spark_api.Account<any> | undefined;
        conversation?: _microsoft_spark_api.ConversationAccount | undefined;
        relatesTo?: ConversationReference | undefined;
        recipient?: _microsoft_spark_api.Account<any> | undefined;
        replyToId?: string | undefined;
        entities?: _microsoft_spark_api.Entity[] | undefined;
        channelData?: _microsoft_spark_api.ChannelData | undefined;
    } | {
        id: string;
        type: "handoff";
        serviceUrl?: string | undefined;
        timestamp?: Date | undefined;
        locale?: string | undefined;
        localTimestamp?: Date | undefined;
        channelId?: _microsoft_spark_api.ChannelID | undefined;
        from?: _microsoft_spark_api.Account<any> | undefined;
        conversation?: _microsoft_spark_api.ConversationAccount | undefined;
        relatesTo?: ConversationReference | undefined;
        recipient?: _microsoft_spark_api.Account<any> | undefined;
        replyToId?: string | undefined;
        entities?: _microsoft_spark_api.Entity[] | undefined;
        channelData?: _microsoft_spark_api.ChannelData | undefined;
    } | {
        id: string;
        type: "conversationUpdate";
        membersAdded?: _microsoft_spark_api.Account[] | undefined;
        membersRemoved?: _microsoft_spark_api.Account[] | undefined;
        topicName?: string | undefined;
        historyDisclosed?: boolean | undefined;
        channelData?: (_microsoft_spark_api.ChannelData & {
            eventType: "channelCreated" | "channelDeleted" | "channelRenamed" | "channelRestored" | "teamArchived" | "teamDeleted" | "teamHardDeleted" | "teamRenamed" | "teamRestored" | "teamUnarchived";
        }) | undefined;
        serviceUrl?: string | undefined;
        timestamp?: Date | undefined;
        locale?: string | undefined;
        localTimestamp?: Date | undefined;
        channelId?: _microsoft_spark_api.ChannelID | undefined;
        from?: _microsoft_spark_api.Account<any> | undefined;
        conversation?: _microsoft_spark_api.ConversationAccount | undefined;
        relatesTo?: ConversationReference | undefined;
        recipient?: _microsoft_spark_api.Account<any> | undefined;
        replyToId?: string | undefined;
        entities?: _microsoft_spark_api.Entity[] | undefined;
    } | {
        id: string;
        type: "endOfConversation";
        code?: _microsoft_spark_api.EndOfConversationCode | undefined;
        text?: string | undefined;
        serviceUrl?: string | undefined;
        timestamp?: Date | undefined;
        locale?: string | undefined;
        localTimestamp?: Date | undefined;
        channelId?: _microsoft_spark_api.ChannelID | undefined;
        from?: _microsoft_spark_api.Account<any> | undefined;
        conversation?: _microsoft_spark_api.ConversationAccount | undefined;
        relatesTo?: ConversationReference | undefined;
        recipient?: _microsoft_spark_api.Account<any> | undefined;
        replyToId?: string | undefined;
        entities?: _microsoft_spark_api.Entity[] | undefined;
        channelData?: _microsoft_spark_api.ChannelData | undefined;
    } | {
        id: string;
        type: "command";
        name?: string | undefined;
        value?: _microsoft_spark_api.CommandValue<any> | undefined;
        serviceUrl?: string | undefined;
        timestamp?: Date | undefined;
        locale?: string | undefined;
        localTimestamp?: Date | undefined;
        channelId?: _microsoft_spark_api.ChannelID | undefined;
        from?: _microsoft_spark_api.Account<any> | undefined;
        conversation?: _microsoft_spark_api.ConversationAccount | undefined;
        relatesTo?: ConversationReference | undefined;
        recipient?: _microsoft_spark_api.Account<any> | undefined;
        replyToId?: string | undefined;
        entities?: _microsoft_spark_api.Entity[] | undefined;
        channelData?: _microsoft_spark_api.ChannelData | undefined;
    } | {
        id: string;
        type: "commandResult";
        name?: string | undefined;
        value?: _microsoft_spark_api.CommandResultValue<any> | undefined;
        serviceUrl?: string | undefined;
        timestamp?: Date | undefined;
        locale?: string | undefined;
        localTimestamp?: Date | undefined;
        channelId?: _microsoft_spark_api.ChannelID | undefined;
        from?: _microsoft_spark_api.Account<any> | undefined;
        conversation?: _microsoft_spark_api.ConversationAccount | undefined;
        relatesTo?: ConversationReference | undefined;
        recipient?: _microsoft_spark_api.Account<any> | undefined;
        replyToId?: string | undefined;
        entities?: _microsoft_spark_api.Entity[] | undefined;
        channelData?: _microsoft_spark_api.ChannelData | undefined;
    } | {
        id: string;
        type: "installationUpdate";
        action?: "add" | undefined;
        serviceUrl?: string | undefined;
        timestamp?: Date | undefined;
        locale?: string | undefined;
        localTimestamp?: Date | undefined;
        channelId?: _microsoft_spark_api.ChannelID | undefined;
        from?: _microsoft_spark_api.Account<any> | undefined;
        conversation?: _microsoft_spark_api.ConversationAccount | undefined;
        relatesTo?: ConversationReference | undefined;
        recipient?: _microsoft_spark_api.Account<any> | undefined;
        replyToId?: string | undefined;
        entities?: _microsoft_spark_api.Entity[] | undefined;
        channelData?: _microsoft_spark_api.ChannelData | undefined;
    } | {
        id: string;
        type: "installationUpdate";
        action?: "remove" | undefined;
        serviceUrl?: string | undefined;
        timestamp?: Date | undefined;
        locale?: string | undefined;
        localTimestamp?: Date | undefined;
        channelId?: _microsoft_spark_api.ChannelID | undefined;
        from?: _microsoft_spark_api.Account<any> | undefined;
        conversation?: _microsoft_spark_api.ConversationAccount | undefined;
        relatesTo?: ConversationReference | undefined;
        recipient?: _microsoft_spark_api.Account<any> | undefined;
        replyToId?: string | undefined;
        entities?: _microsoft_spark_api.Entity[] | undefined;
        channelData?: _microsoft_spark_api.ChannelData | undefined;
    }>;
    onStreamOpen(ref: ConversationReference): Streamer;
    protected onActivityReceived({ activity }: AppActivityReceivedEvent): void;
    protected onActivitySent({ activity, ref }: AppActivitySentEvent): void;
    protected onActivityResponse({ activity, response }: AppActivityResponseEvent): void;
    protected onConnection(socket: io.Socket): void;
    protected send(event: Event): void;
    protected sendActivity(event: ActivityEvent): void;
}

export { DevtoolsPlugin };
