import { A as Activity } from '../../activity-BzTsi0gF.js';
import { MessagingExtensionAttachment } from './messaging-extension-attachment.js';
import { MessagingExtensionAttachmentLayout } from './messaging-extension-attachment-layout.js';
import { MessagingExtensionSuggestedAction } from './messaging-extension-suggested-action.js';
import '../../message-B-5FpoB1.js';
import '../account.js';
import '../membership-source.js';
import '../membership-source-types.js';
import '../membership-types.js';
import '../role.js';
import '../entity/mention-entity.js';
import '../input-hint.js';
import '../text-format.js';
import '../attachment/attachment.js';
import '../attachment/card-attachment.js';
import '@microsoft/teams.cards';
import '../card/animation-card.js';
import '../card/card-action.js';
import '../card/media-url.js';
import '../card/thumbnail-url.js';
import '../card/audio-card.js';
import '../card/hero-card.js';
import '../card/card-image.js';
import '../card/thumbnail-card.js';
import '../card/video-card.js';
import '../oauth/oauth-card.js';
import '../token/token-post-resource.js';
import '../token-exchange/token-exchange-resource.js';
import '../sign-in/sign-in-card.js';
import '../attachment/attachment-layout.js';
import '../suggested-actions.js';
import '../importance.js';
import '../delivery-mode.js';
import '../../activities/activity.js';
import '../channel-id.js';
import '../conversation/conversation-reference.js';
import '../entity/index.js';
import '../entity/ai-message-entity.js';
import '../entity/message-entity.js';
import '../entity/citation-entity.js';
import '../entity/client-info-entity.js';
import '../entity/product-info-entity.js';
import '../entity/sensitive-usage-entity.js';
import '../entity/stream-info-entity.js';
import '../channel-data/index.js';
import '../meeting/meeting-info.js';
import '../meeting/meeting-details.js';
import '../channel-data/channel-info.js';
import '../channel-data/feedback-loop.js';
import '../channel-data/notification-info.js';
import '../channel-data/on-behalf-of.js';
import '../channel-data/settings.js';
import '../channel-data/team-info.js';
import '../channel-data/tenant-info.js';
import '../../activities/typing.js';
import '../../activities/message/message-update.js';
import '@microsoft/teams.common/http';
import '../../activities/command/index.js';
import '../../activities/command/command-result.js';
import '../../activities/command/command-send.js';
import '../../activities/conversation/index.js';
import '../../activities/conversation/conversation-update.js';
import '../../activities/conversation/end-of-conversation.js';
import '../../activities/event/index.js';
import '../../activities/event/meeting-end.js';
import '../../activities/event/meeting-participant-join.js';
import '../../activities/event/meeting-participant-leave.js';
import '../../activities/event/meeting-start.js';
import '../../activities/event/read-receipt.js';
import '../../activities/handoff.js';
import '../../activities/install-update/index.js';
import '../../activities/install-update/add.js';
import '../../activities/install-update/remove.js';
import '../../activities/invoke/adaptive-card/index.js';
import '../../activities/invoke/adaptive-card/action.js';
import '../adaptive-card/adaptive-card-invoke-value.js';
import '../adaptive-card/adaptive-card-authentication.js';
import '../token-exchange/token-exchange-invoke-request.js';
import '../adaptive-card/adaptive-card-invoke-action.js';
import '../../activities/invoke/config/index.js';
import '../../activities/invoke/config/config-fetch.js';
import '../../activities/invoke/config/config-submit.js';
import '../../activities/invoke/execute-action.js';
import '../o365/o365-connector-card-action-query.js';
import '../../activities/invoke/file-consent.js';
import '../file/file-consent-card.js';
import '../action.js';
import '../file/file-upload-info.js';
import '../../activities/invoke/handoff-action.js';
import '../../activities/invoke/message/index.js';
import '../../activities/invoke/message/fetch-task.js';
import '../../activities/invoke/message/submit-action.js';
import '../../activities/invoke/message-extension/anon-query-link.js';
import '../app-based-link-query.js';
import '../../activities/invoke/message-extension/card-button-clicked.js';
import '../message/message.js';
import '../message/message-body.js';
import '../message/message-from.js';
import '../message/message-app.js';
import '../message/message-conversation.js';
import '../message/message-user.js';
import '../message/message-mention.js';
import '../message/message-reaction.js';
import '../task-module/task-module-request.js';
import '../tab/tab-entity-context.js';
import '../../activities/invoke/message-extension/query.js';
import './messaging-extension-query.js';
import './messaging-extension-parameter.js';
import '../../activities/invoke/message-extension/query-link.js';
import '../../activities/invoke/message-extension/query-setting-url.js';
import '../../activities/invoke/message-extension/select-item.js';
import '../../activities/invoke/message-extension/setting.js';
import '../../activities/invoke/sign-in/index.js';
import '../../activities/invoke/sign-in/failure.js';
import '../sign-in/sign-in-failure.js';
import '../../activities/invoke/sign-in/token-exchange.js';
import '../sign-in/sign-in-exchange-token.js';
import '../../activities/invoke/sign-in/verify-state.js';
import '../sign-in/sign-in-state-verify-query.js';
import '../../activities/invoke/tab/index.js';
import '../../activities/invoke/tab/tab-fetch.js';
import '../tab/tab-request.js';
import '../tab/tab-context.js';
import '../../activities/invoke/tab/tab-submit.js';
import '../../activities/invoke/task/index.js';
import '../../activities/invoke/task/task-fetch.js';
import '../../activities/invoke/task/task-submit.js';
import '../../activities/message/index.js';
import '../../activities/message/message-delete.js';
import '../../activities/message/message-reaction.js';
import '../../activities/trace.js';
import '../resource.js';
import '../../clients/api-client-settings.js';
import '../../auth/cloud-environment.js';

/**
 * Defines values for MessagingExtensionResultType.
 * Possible values include: 'result', 'auth', 'config', 'message', 'botMessagePreview', 'silentAuth'.
 *
 * @readonly
 * @enum {string}
 */
type MessagingExtensionResultType = 'result' | 'auth' | 'config' | 'message' | 'botMessagePreview' | 'silentAuth';
/**
 *
 * An interface representing MessagingExtensionResult.
 * Messaging extension result
 *
 */
type MessagingExtensionResult = {
    /**
     * @member {MessagingExtensionAttachmentLayout} [attachmentLayout] Hint for how to deal with
     * multiple attachments. Possible values include: 'list', 'grid'
     */
    attachmentLayout?: MessagingExtensionAttachmentLayout;
    /**
     * @member {MessagingExtensionResultType} [type] The type of the result. Possible values include:
     * 'result', 'auth', 'config', 'message', 'botMessagePreview'
     */
    type?: MessagingExtensionResultType;
    /**
     * @member {MessagingExtensionAttachment[]} [attachments] (Only when type is
     * result) Attachments
     */
    attachments?: MessagingExtensionAttachment[];
    /**
     * @member {MessagingExtensionSuggestedAction} [suggestedActions]
     */
    suggestedActions?: MessagingExtensionSuggestedAction;
    /**
     * @member {string} [text] (Only when type is message) Text
     */
    text?: string;
    /**
     * @member {Activity} [activityPreview] (Only when type is botMessagePreview)
     * Message activity to preview
     */
    activityPreview?: Activity;
};

export type { MessagingExtensionResult, MessagingExtensionResultType };
