type CardElement = IContainer | IActionSet | IColumnSet | IMedia | IRichTextBlock | ITable | ITextBlock | IFactSet | IImageSet | IImage | ITextInput | IDateInput | ITimeInput | INumberInput | IToggleInput | IChoiceSetInput | IRatingInput | IRating | ICompoundButton | IIcon | ICarousel | IBadge | IProgressRing | IProgressBar | IDonutChart | IPieChart | IGroupedVerticalBarChart | IVerticalBarChart | IHorizontalBarChart | IStackedHorizontalBarChart | ILineChart | IGaugeChart | ICodeBlock | IComUserMicrosoftGraphComponent | IComUsersMicrosoftGraphComponent | IComResourceMicrosoftGraphComponent | IComFileMicrosoftGraphComponent | IComEventMicrosoftGraphComponent;
type Action = ISubmitAction | IOpenUrlAction | IExecuteAction | IToggleVisibilityAction | IShowCardAction | IResetInputsAction | IPopoverAction | IOpenUrlDialogAction | IInsertImageAction;
type IconName = 'AccessTime' | 'Accessibility' | 'AccessibilityCheckmark' | 'Add' | 'AddCircle' | 'AddSquare' | 'AddSquareMultiple' | 'AddSubtractCircle' | 'Airplane' | 'AirplaneLanding' | 'AirplaneTakeOff' | 'Album' | 'AlbumAdd' | 'Alert' | 'AlertBadge' | 'AlertOff' | 'AlertOn' | 'AlertSnooze' | 'AlertUrgent' | 'AlignBottom' | 'AlignCenterHorizontal' | 'AlignCenterVertical' | 'AlignDistributeBottom' | 'AlignDistributeLeft' | 'AlignDistributeRight' | 'AlignDistributeTop' | 'AlignEndHorizontal' | 'AlignEndVertical' | 'AlignLeft' | 'AlignRight' | 'AlignSpaceAroundHorizontal' | 'AlignSpaceAroundVertical' | 'AlignSpaceBetweenHorizontal' | 'AlignSpaceBetweenVertical' | 'AlignSpaceEvenlyHorizontal' | 'AlignSpaceEvenlyVertical' | 'AlignSpaceFitVertical' | 'AlignStartHorizontal' | 'AlignStartVertical' | 'AlignStraighten' | 'AlignStretchHorizontal' | 'AlignStretchVertical' | 'AlignTop' | 'AnimalCat' | 'AnimalDog' | 'AnimalRabbit' | 'AnimalRabbitOff' | 'AnimalTurtle' | 'AppFolder' | 'AppGeneric' | 'AppRecent' | 'AppStore' | 'AppTitle' | 'ApprovalsApp' | 'Apps' | 'AppsAddIn' | 'AppsList' | 'AppsListDetail' | 'Archive' | 'ArchiveArrowBack' | 'ArchiveMultiple' | 'ArchiveSettings' | 'ArrowAutofitContent' | 'ArrowAutofitDown' | 'ArrowAutofitHeight' | 'ArrowAutofitHeightDotted' | 'ArrowAutofitHeightIn' | 'ArrowAutofitUp' | 'ArrowAutofitWidth' | 'ArrowAutofitWidthDotted' | 'ArrowBetweenDown' | 'ArrowBetweenUp' | 'ArrowBidirectionalLeftRight' | 'ArrowBidirectionalUpDown' | 'ArrowBounce' | 'ArrowCircleDown' | 'ArrowCircleDownDouble' | 'ArrowCircleDownRight' | 'ArrowCircleDownSplit' | 'ArrowCircleDownUp' | 'ArrowCircleLeft' | 'ArrowCircleRight' | 'ArrowCircleUp' | 'ArrowCircleUpLeft' | 'ArrowCircleUpRight' | 'ArrowClockwise' | 'ArrowClockwiseDashes' | 'ArrowCollapseAll' | 'ArrowCounterclockwise' | 'ArrowCounterclockwiseDashes' | 'ArrowCurveDownLeft' | 'ArrowCurveDownRight' | 'ArrowCurveUpLeft' | 'ArrowCurveUpRight' | 'ArrowDown' | 'ArrowDownExclamation' | 'ArrowDownLeft' | 'ArrowDownload' | 'ArrowDownloadOff' | 'ArrowEject' | 'ArrowEnter' | 'ArrowEnterLeft' | 'ArrowEnterUp' | 'ArrowExit' | 'ArrowExpand' | 'ArrowExport' | 'ArrowExportLtr' | 'ArrowExportRtl' | 'ArrowExportUp' | 'ArrowFit' | 'ArrowFitIn' | 'ArrowFlowDiagonalUpRight' | 'ArrowFlowUpRight' | 'ArrowFlowUpRightRectangleMultiple' | 'ArrowForward' | 'ArrowForwardDownLightning' | 'ArrowForwardDownPerson' | 'ArrowHookDownLeft' | 'ArrowHookDownRight' | 'ArrowHookUpLeft' | 'ArrowHookUpRight' | 'ArrowImport' | 'ArrowJoin' | 'ArrowLeft' | 'ArrowMaximize' | 'ArrowMaximizeVertical' | 'ArrowMinimize' | 'ArrowMinimizeVertical' | 'ArrowMove' | 'ArrowMoveInward' | 'ArrowNext' | 'ArrowOutlineDownLeft' | 'ArrowOutlineUpRight' | 'ArrowParagraph' | 'ArrowPrevious' | 'ArrowRedo' | 'ArrowRepeat1' | 'ArrowRepeatAll' | 'ArrowRepeatAllOff' | 'ArrowReply' | 'ArrowReplyAll' | 'ArrowReplyDown' | 'ArrowReset' | 'ArrowRight' | 'ArrowRotateClockwise' | 'ArrowRotateCounterclockwise' | 'ArrowRouting' | 'ArrowRoutingRectangleMultiple' | 'ArrowShuffle' | 'ArrowShuffleOff' | 'ArrowSort' | 'ArrowSortDown' | 'ArrowSortDownLines' | 'ArrowSortUp' | 'ArrowSplit' | 'ArrowSprint' | 'ArrowSquareDown' | 'ArrowSquareUpRight' | 'ArrowStepBack' | 'ArrowStepIn' | 'ArrowStepInDiagonalDownLeft' | 'ArrowStepInLeft' | 'ArrowStepInRight' | 'ArrowStepOut' | 'ArrowStepOver' | 'ArrowSwap' | 'ArrowSync' | 'ArrowSyncCheckmark' | 'ArrowSyncCircle' | 'ArrowSyncDismiss' | 'ArrowSyncOff' | 'ArrowTrending' | 'ArrowTrendingCheckmark' | 'ArrowTrendingDown' | 'ArrowTrendingLines' | 'ArrowTrendingSettings' | 'ArrowTrendingSparkle' | 'ArrowTrendingText' | 'ArrowTrendingWrench' | 'ArrowTurnBidirectionalDownRight' | 'ArrowTurnDownLeft' | 'ArrowTurnDownRight' | 'ArrowTurnDownUp' | 'ArrowTurnLeftDown' | 'ArrowTurnLeftRight' | 'ArrowTurnLeftUp' | 'ArrowTurnRight' | 'ArrowTurnRightDown' | 'ArrowTurnRightLeft' | 'ArrowTurnRightUp' | 'ArrowTurnUpDown' | 'ArrowTurnUpLeft' | 'ArrowUndo' | 'ArrowUp' | 'ArrowUpLeft' | 'ArrowUpRight' | 'ArrowUpRightDashes' | 'ArrowUpSquareSettings' | 'ArrowUpload' | 'ArrowWrap' | 'ArrowWrapOff' | 'ArrowsBidirectional' | 'Attach' | 'AttachArrowRight' | 'AttachText' | 'AutoFitHeight' | 'AutoFitWidth' | 'Autocorrect' | 'Autosum' | 'Backpack' | 'BackpackAdd' | 'Backspace' | 'Badge' | 'Balloon' | 'BarcodeScanner' | 'Battery0' | 'Battery10' | 'Battery1' | 'Battery2' | 'Battery3' | 'Battery4' | 'Battery5' | 'Battery6' | 'Battery7' | 'Battery8' | 'Battery9' | 'BatteryCharge' | 'BatteryCheckmark' | 'BatterySaver' | 'BatteryWarning' | 'Beach' | 'Beaker' | 'BeakerAdd' | 'BeakerDismiss' | 'BeakerEdit' | 'BeakerEmpty' | 'BeakerOff' | 'BeakerSettings' | 'Bed' | 'BezierCurveSquare' | 'BinFull' | 'BinRecycle' | 'BinRecycleFull' | 'BinderTriangle' | 'Bluetooth' | 'BluetoothConnected' | 'BluetoothDisabled' | 'BluetoothSearching' | 'Blur' | 'Board' | 'BoardGames' | 'BoardHeart' | 'BoardSplit' | 'Book' | 'BookAdd' | 'BookArrowClockwise' | 'BookClock' | 'BookCoins' | 'BookCompass' | 'BookContacts' | 'BookDatabase' | 'BookDefault' | 'BookDismiss' | 'BookExclamationMark' | 'BookGlobe' | 'BookInformation' | 'BookLetter' | 'BookNumber' | 'BookOpen' | 'BookOpenGlobe' | 'BookOpenMicrophone' | 'BookPulse' | 'BookQuestionMark' | 'BookQuestionMarkRtl' | 'BookSearch' | 'BookStar' | 'BookTemplate' | 'BookTheta' | 'BookToolbox' | 'Bookmark' | 'BookmarkAdd' | 'BookmarkMultiple' | 'BookmarkOff' | 'BookmarkSearch' | 'BorderAll' | 'BorderBottom' | 'BorderBottomDouble' | 'BorderBottomThick' | 'BorderInside' | 'BorderLeft' | 'BorderLeftRight' | 'BorderNone' | 'BorderOutside' | 'BorderOutsideThick' | 'BorderRight' | 'BorderTop' | 'BorderTopBottom' | 'BorderTopBottomDouble' | 'BorderTopBottomThick' | 'Bot' | 'BotAdd' | 'BotSparkle' | 'BowTie' | 'BowlChopsticks' | 'BowlSalad' | 'Box' | 'BoxArrowLeft' | 'BoxArrowUp' | 'BoxCheckmark' | 'BoxDismiss' | 'BoxEdit' | 'BoxMultiple' | 'BoxMultipleArrowLeft' | 'BoxMultipleArrowRight' | 'BoxMultipleCheckmark' | 'BoxMultipleSearch' | 'BoxSearch' | 'BoxToolbox' | 'Braces' | 'BracesCheckmark' | 'BracesDismiss' | 'BracesVariable' | 'BrainCircuit' | 'Branch' | 'BranchCompare' | 'BranchFork' | 'BranchForkHint' | 'BranchForkLink' | 'BranchRequest' | 'BreakoutRoom' | 'Briefcase' | 'BriefcaseMedical' | 'BriefcaseOff' | 'BriefcasePerson' | 'BriefcaseSearch' | 'BrightnessHigh' | 'BrightnessLow' | 'BroadActivityFeed' | 'Broom' | 'BubbleMultiple' | 'Bug' | 'BugArrowCounterclockwise' | 'BugProhibited' | 'Building' | 'BuildingBank' | 'BuildingBankLink' | 'BuildingBankToolbox' | 'BuildingCloud' | 'BuildingDesktop' | 'BuildingFactory' | 'BuildingGovernment' | 'BuildingGovernmentSearch' | 'BuildingHome' | 'BuildingLighthouse' | 'BuildingMosque' | 'BuildingMultiple' | 'BuildingPeople' | 'BuildingRetail' | 'BuildingRetailMoney' | 'BuildingRetailMore' | 'BuildingRetailShield' | 'BuildingRetailToolbox' | 'BuildingShop' | 'BuildingSkyscraper' | 'BuildingSwap' | 'BuildingTownhouse' | 'Button' | 'Calculator' | 'CalculatorArrowClockwise' | 'CalculatorMultiple' | 'Calendar' | 'Calendar3Day' | 'CalendarAdd' | 'CalendarAgenda' | 'CalendarArrowCounterclockwise' | 'CalendarArrowDown' | 'CalendarArrowRight' | 'CalendarAssistant' | 'CalendarCancel' | 'CalendarChat' | 'CalendarCheckmark' | 'CalendarClock' | 'CalendarDataBar' | 'CalendarDate' | 'CalendarDay' | 'CalendarEdit' | 'CalendarEmpty' | 'CalendarError' | 'CalendarEye' | 'CalendarInfo' | 'CalendarLink' | 'CalendarLock' | 'CalendarLtr' | 'CalendarMail' | 'CalendarMention' | 'CalendarMonth' | 'CalendarMultiple' | 'CalendarNote' | 'CalendarPattern' | 'CalendarPerson' | 'CalendarPhone' | 'CalendarPlay' | 'CalendarQuestionMark' | 'CalendarRecord' | 'CalendarReply' | 'CalendarRtl' | 'CalendarSearch' | 'CalendarSettings' | 'CalendarShield' | 'CalendarStar' | 'CalendarSync' | 'CalendarToday' | 'CalendarToolbox' | 'CalendarVideo' | 'CalendarWeekNumbers' | 'CalendarWeekStart' | 'CalendarWorkWeek' | 'Call' | 'CallAdd' | 'CallCheckmark' | 'CallConnecting' | 'CallDismiss' | 'CallEnd' | 'CallExclamation' | 'CallForward' | 'CallInbound' | 'CallMissed' | 'CallOutbound' | 'CallPark' | 'CallPause' | 'CallProhibited' | 'CallTransfer' | 'CallWarning' | 'CalligraphyPen' | 'CalligraphyPenCheckmark' | 'CalligraphyPenError' | 'CalligraphyPenQuestionMark' | 'Camera' | 'CameraAdd' | 'CameraDome' | 'CameraEdit' | 'CameraOff' | 'CameraSparkles' | 'CameraSwitch' | 'CardUi' | 'CaretDown' | 'CaretDownRight' | 'CaretLeft' | 'CaretRight' | 'CaretUp' | 'Cart' | 'Cast' | 'CastMultiple' | 'CatchUp' | 'Cd' | 'Cellular3G' | 'Cellular4G' | 'Cellular5G' | 'CellularData1' | 'CellularData2' | 'CellularData3' | 'CellularData4' | 'CellularData5' | 'CellularOff' | 'CellularWarning' | 'CenterHorizontal' | 'CenterVertical' | 'Certificate' | 'Channel' | 'ChannelAdd' | 'ChannelAlert' | 'ChannelArrowLeft' | 'ChannelDismiss' | 'ChannelShare' | 'ChannelSubtract' | 'ChartMultiple' | 'ChartPerson' | 'Chat' | 'ChatAdd' | 'ChatArrowBack' | 'ChatArrowDoubleBack' | 'ChatBubblesQuestion' | 'ChatCursor' | 'ChatDismiss' | 'ChatEmpty' | 'ChatHelp' | 'ChatLock' | 'ChatMail' | 'ChatMultiple' | 'ChatMultipleHeart' | 'ChatOff' | 'ChatSettings' | 'ChatSparkle' | 'ChatVideo' | 'ChatWarning' | 'Check' | 'Checkbox1' | 'Checkbox2' | 'CheckboxArrowRight' | 'CheckboxChecked' | 'CheckboxCheckedSync' | 'CheckboxIndeterminate' | 'CheckboxPerson' | 'CheckboxUnchecked' | 'CheckboxWarning' | 'Checkmark' | 'CheckmarkCircle' | 'CheckmarkCircleSquare' | 'CheckmarkLock' | 'CheckmarkNote' | 'CheckmarkSquare' | 'CheckmarkStarburst' | 'CheckmarkUnderlineCircle' | 'Chess' | 'ChevronCircleDown' | 'ChevronCircleLeft' | 'ChevronCircleRight' | 'ChevronCircleUp' | 'ChevronDoubleDown' | 'ChevronDoubleLeft' | 'ChevronDoubleRight' | 'ChevronDoubleUp' | 'ChevronDown' | 'ChevronDownUp' | 'ChevronLeft' | 'ChevronRight' | 'ChevronUp' | 'ChevronUpDown' | 'Circle' | 'CircleEdit' | 'CircleEraser' | 'CircleHalfFill' | 'CircleHint' | 'CircleHintHalfVertical' | 'CircleImage' | 'CircleLine' | 'CircleMultipleSubtractCheckmark' | 'CircleOff' | 'CircleSmall' | 'City' | 'Class' | 'Classification' | 'ClearFormatting' | 'Clipboard' | 'Clipboard3Day' | 'ClipboardArrowRight' | 'ClipboardBrush' | 'ClipboardBulletList' | 'ClipboardBulletListLtr' | 'ClipboardBulletListRtl' | 'ClipboardCheckmark' | 'ClipboardClock' | 'ClipboardCode' | 'ClipboardDataBar' | 'ClipboardDay' | 'ClipboardEdit' | 'ClipboardError' | 'ClipboardHeart' | 'ClipboardImage' | 'ClipboardLetter' | 'ClipboardLink' | 'ClipboardMathFormula' | 'ClipboardMonth' | 'ClipboardMore' | 'ClipboardMultiple' | 'ClipboardNote' | 'ClipboardNumber123' | 'ClipboardPaste' | 'ClipboardPulse' | 'ClipboardSearch' | 'ClipboardSettings' | 'ClipboardTask' | 'ClipboardTaskAdd' | 'ClipboardTaskList' | 'ClipboardTaskListLtr' | 'ClipboardTaskListRtl' | 'ClipboardText' | 'ClipboardTextEdit' | 'ClipboardTextLtr' | 'ClipboardTextRtl' | 'Clock' | 'ClockAlarm' | 'ClockArrowDownload' | 'ClockDismiss' | 'ClockLock' | 'ClockPause' | 'ClockToolbox' | 'ClosedCaption' | 'ClosedCaptionOff' | 'Cloud' | 'CloudAdd' | 'CloudArchive' | 'CloudArrowDown' | 'CloudArrowUp' | 'CloudBeaker' | 'CloudBidirectional' | 'CloudCheckmark' | 'CloudCube' | 'CloudDatabase' | 'CloudDesktop' | 'CloudDismiss' | 'CloudEdit' | 'CloudError' | 'CloudFlow' | 'CloudLink' | 'CloudOff' | 'CloudSwap' | 'CloudSync' | 'CloudWords' | 'Clover' | 'Code' | 'CodeBlock' | 'CodeCircle' | 'CodeCs' | 'CodeCsRectangle' | 'CodeFs' | 'CodeFsRectangle' | 'CodeJs' | 'CodeJsRectangle' | 'CodePy' | 'CodePyRectangle' | 'CodeRb' | 'CodeRbRectangle' | 'CodeText' | 'CodeTextEdit' | 'CodeTextOff' | 'CodeTs' | 'CodeTsRectangle' | 'CodeVb' | 'CodeVbRectangle' | 'Collections' | 'CollectionsAdd' | 'Color' | 'ColorBackground' | 'ColorBackgroundAccent' | 'ColorFill' | 'ColorFillAccent' | 'ColorLine' | 'ColorLineAccent' | 'Column' | 'ColumnArrowRight' | 'ColumnDoubleCompare' | 'ColumnEdit' | 'ColumnSingle' | 'ColumnSingleCompare' | 'ColumnTriple' | 'ColumnTripleEdit' | 'Comma' | 'Comment' | 'CommentAdd' | 'CommentArrowLeft' | 'CommentArrowRight' | 'CommentCheckmark' | 'CommentDismiss' | 'CommentEdit' | 'CommentError' | 'CommentLightning' | 'CommentLink' | 'CommentMention' | 'CommentMultiple' | 'CommentMultipleCheckmark' | 'CommentMultipleLink' | 'CommentNote' | 'CommentOff' | 'Communication' | 'CommunicationPerson' | 'CommunicationShield' | 'CompassNorthwest' | 'Component2DoubleTapSwipeDown' | 'Component2DoubleTapSwipeUp' | 'Compose' | 'Cone' | 'ConferenceRoom' | 'Connected' | 'Connector' | 'ContactCard' | 'ContactCardGroup' | 'ContactCardLink' | 'ContactCardRibbon' | 'ContentSettings' | 'ContentView' | 'ContentViewGallery' | 'ContentViewGalleryLightning' | 'ContractDownLeft' | 'ContractUpRight' | 'ControlButton' | 'ConvertRange' | 'Cookies' | 'Copy' | 'CopyAdd' | 'CopyArrowRight' | 'CopySelect' | 'Couch' | 'CreditCardClock' | 'CreditCardPerson' | 'CreditCardToolbox' | 'Crop' | 'CropInterim' | 'CropInterimOff' | 'CropSparkle' | 'Crown' | 'CrownSubtract' | 'Cube' | 'CubeAdd' | 'CubeArrowCurveDown' | 'CubeLink' | 'CubeMultiple' | 'CubeQuick' | 'CubeRotate' | 'CubeSync' | 'CubeTree' | 'CurrencyDollarEuro' | 'CurrencyDollarRupee' | 'Cursor' | 'CursorClick' | 'CursorHover' | 'CursorHoverOff' | 'CursorProhibited' | 'Cut' | 'DarkTheme' | 'DataArea' | 'DataBarHorizontal' | 'DataBarHorizontalDescending' | 'DataBarVertical' | 'DataBarVerticalAdd' | 'DataBarVerticalAscending' | 'DataBarVerticalStar' | 'DataFunnel' | 'DataHistogram' | 'DataLine' | 'DataPie' | 'DataScatter' | 'DataSunburst' | 'DataTreemap' | 'DataTrending' | 'DataUsage' | 'DataUsageEdit' | 'DataUsageSettings' | 'DataUsageToolbox' | 'DataWaterfall' | 'DataWhisker' | 'Database' | 'DatabaseArrowDown' | 'DatabaseArrowRight' | 'DatabaseArrowUp' | 'DatabaseLightning' | 'DatabaseLink' | 'DatabaseMultiple' | 'DatabasePerson' | 'DatabasePlugConnected' | 'DatabaseSearch' | 'DatabaseStack' | 'DatabaseSwitch' | 'DatabaseWarning' | 'DatabaseWindow' | 'DecimalArrowLeft' | 'DecimalArrowRight' | 'Delete' | 'DeleteArrowBack' | 'DeleteDismiss' | 'DeleteLines' | 'DeleteOff' | 'Dentist' | 'DesignIdeas' | 'Desk' | 'Desktop' | 'DesktopArrowDown' | 'DesktopArrowRight' | 'DesktopCheckmark' | 'DesktopCursor' | 'DesktopEdit' | 'DesktopFlow' | 'DesktopKeyboard' | 'DesktopMac' | 'DesktopPulse' | 'DesktopSignal' | 'DesktopSpeaker' | 'DesktopSpeakerOff' | 'DesktopSync' | 'DesktopToolbox' | 'DesktopTower' | 'DeveloperBoard' | 'DeveloperBoardLightning' | 'DeveloperBoardLightningToolbox' | 'DeveloperBoardSearch' | 'DeviceEq' | 'DeviceMeetingRoom' | 'DeviceMeetingRoomRemote' | 'Diagram' | 'Dialpad' | 'DialpadOff' | 'DialpadQuestionMark' | 'Diamond' | 'Directions' | 'Dishwasher' | 'Dismiss' | 'DismissCircle' | 'DismissSquare' | 'DismissSquareMultiple' | 'Diversity' | 'DividerShort' | 'DividerTall' | 'Dock' | 'DockRow' | 'Doctor' | 'Document100' | 'Document' | 'DocumentAdd' | 'DocumentArrowDown' | 'DocumentArrowLeft' | 'DocumentArrowRight' | 'DocumentArrowUp' | 'DocumentBorder' | 'DocumentBorderPrint' | 'DocumentBriefcase' | 'DocumentBulletList' | 'DocumentBulletListArrowLeft' | 'DocumentBulletListClock' | 'DocumentBulletListCube' | 'DocumentBulletListMultiple' | 'DocumentBulletListOff' | 'DocumentCatchUp' | 'DocumentCheckmark' | 'DocumentChevronDouble' | 'DocumentContract' | 'DocumentCopy' | 'DocumentCs' | 'DocumentCss' | 'DocumentCube' | 'DocumentData' | 'DocumentDataLink' | 'DocumentDataLock' | 'DocumentDatabase' | 'DocumentDismiss' | 'DocumentEdit' | 'DocumentEndnote' | 'DocumentError' | 'DocumentFit' | 'DocumentFlowchart' | 'DocumentFolder' | 'DocumentFooter' | 'DocumentFooterDismiss' | 'DocumentFs' | 'DocumentHeader' | 'DocumentHeaderArrowDown' | 'DocumentHeaderDismiss' | 'DocumentHeaderFooter' | 'DocumentHeart' | 'DocumentHeartPulse' | 'DocumentImage' | 'DocumentJava' | 'DocumentJavascript' | 'DocumentJs' | 'DocumentKey' | 'DocumentLandscape' | 'DocumentLandscapeData' | 'DocumentLandscapeSplit' | 'DocumentLandscapeSplitHint' | 'DocumentLightning' | 'DocumentLink' | 'DocumentLock' | 'DocumentMargins' | 'DocumentMention' | 'DocumentMultiple' | 'DocumentMultiplePercent' | 'DocumentMultipleProhibited' | 'DocumentMultipleSync' | 'DocumentNumber1' | 'DocumentOnePage' | 'DocumentOnePageAdd' | 'DocumentOnePageBeaker' | 'DocumentOnePageColumns' | 'DocumentOnePageLink' | 'DocumentOnePageMultiple' | 'DocumentOnePageSparkle' | 'DocumentPageBottomCenter' | 'DocumentPageBottomLeft' | 'DocumentPageBottomRight' | 'DocumentPageBreak' | 'DocumentPageNumber' | 'DocumentPageTopCenter' | 'DocumentPageTopLeft' | 'DocumentPageTopRight' | 'DocumentPdf' | 'DocumentPercent' | 'DocumentPerson' | 'DocumentPill' | 'DocumentPrint' | 'DocumentProhibited' | 'DocumentPy' | 'DocumentQuestionMark' | 'DocumentQueue' | 'DocumentQueueAdd' | 'DocumentQueueMultiple' | 'DocumentRb' | 'DocumentRibbon' | 'DocumentSass' | 'DocumentSave' | 'DocumentSearch' | 'DocumentSettings' | 'DocumentSplitHint' | 'DocumentSplitHintOff' | 'DocumentSync' | 'DocumentTable' | 'DocumentTableArrowRight' | 'DocumentTableCheckmark' | 'DocumentTableCube' | 'DocumentTableSearch' | 'DocumentTableTruck' | 'DocumentTarget' | 'DocumentText' | 'DocumentTextClock' | 'DocumentTextExtract' | 'DocumentTextLink' | 'DocumentTextToolbox' | 'DocumentToolbox' | 'DocumentTs' | 'DocumentVb' | 'DocumentWidth' | 'DocumentYml' | 'Door' | 'DoorArrowLeft' | 'DoorArrowRight' | 'DoorTag' | 'DoubleSwipeDown' | 'DoubleSwipeUp' | 'DoubleTapSwipeDown' | 'DoubleTapSwipeUp' | 'Drafts' | 'Drag' | 'DrawImage' | 'DrawShape' | 'DrawText' | 'Drawer' | 'DrawerAdd' | 'DrawerArrowDownload' | 'DrawerDismiss' | 'DrawerPlay' | 'DrawerSubtract' | 'DrinkBeer' | 'DrinkBottle' | 'DrinkBottleOff' | 'DrinkCoffee' | 'DrinkMargarita' | 'DrinkToGo' | 'DrinkWine' | 'DriveTrain' | 'Drop' | 'DualScreen' | 'DualScreenAdd' | 'DualScreenArrowRight' | 'DualScreenArrowUp' | 'DualScreenClock' | 'DualScreenClosedAlert' | 'DualScreenDesktop' | 'DualScreenDismiss' | 'DualScreenGroup' | 'DualScreenHeader' | 'DualScreenLock' | 'DualScreenMirror' | 'DualScreenPagination' | 'DualScreenSettings' | 'DualScreenSpan' | 'DualScreenSpeaker' | 'DualScreenStatusBar' | 'DualScreenTablet' | 'DualScreenUpdate' | 'DualScreenVerticalScroll' | 'DualScreenVibrate' | 'Dumbbell' | 'Dust' | 'Earth' | 'EarthLeaf' | 'Edit' | 'EditArrowBack' | 'EditOff' | 'EditProhibited' | 'EditSettings' | 'Elevator' | 'Emoji' | 'EmojiAdd' | 'EmojiAngry' | 'EmojiEdit' | 'EmojiHand' | 'EmojiHint' | 'EmojiLaugh' | 'EmojiMeh' | 'EmojiMultiple' | 'EmojiSad' | 'EmojiSadSlight' | 'EmojiSmileSlight' | 'EmojiSparkle' | 'EmojiSurprise' | 'Engine' | 'EqualCircle' | 'EqualOff' | 'Eraser' | 'EraserMedium' | 'EraserSegment' | 'EraserSmall' | 'EraserTool' | 'ErrorCircle' | 'ErrorCircleSettings' | 'ExpandUpLeft' | 'ExpandUpRight' | 'ExtendedDock' | 'Eye' | 'EyeLines' | 'EyeOff' | 'EyeTracking' | 'EyeTrackingOff' | 'Eyedropper' | 'EyedropperOff' | 'FStop' | 'FastAcceleration' | 'FastForward' | 'Fax' | 'Feed' | 'Filmstrip' | 'FilmstripImage' | 'FilmstripOff' | 'FilmstripPlay' | 'FilmstripSplit' | 'Filter' | 'FilterAdd' | 'FilterDismiss' | 'FilterSync' | 'Fingerprint' | 'Fire' | 'Fireplace' | 'FixedWidth' | 'Flag' | 'FlagCheckered' | 'FlagClock' | 'FlagOff' | 'FlagPride' | 'FlagPrideIntersexInclusiveProgress' | 'FlagPridePhiladelphia' | 'FlagPrideProgress' | 'Flash' | 'FlashAdd' | 'FlashAuto' | 'FlashCheckmark' | 'FlashFlow' | 'FlashOff' | 'FlashPlay' | 'FlashSettings' | 'FlashSparkle' | 'Flashlight' | 'FlashlightOff' | 'FlipHorizontal' | 'FlipVertical' | 'Flow' | 'Flowchart' | 'FlowchartCircle' | 'Fluent' | 'Fluid' | 'Folder' | 'FolderAdd' | 'FolderArrowLeft' | 'FolderArrowRight' | 'FolderArrowUp' | 'FolderBriefcase' | 'FolderGlobe' | 'FolderLightning' | 'FolderLink' | 'FolderList' | 'FolderMail' | 'FolderMultiple' | 'FolderOpen' | 'FolderOpenVertical' | 'FolderPeople' | 'FolderPerson' | 'FolderProhibited' | 'FolderSearch' | 'FolderSwap' | 'FolderSync' | 'FolderZip' | 'FontDecrease' | 'FontIncrease' | 'FontSpaceTrackingIn' | 'FontSpaceTrackingOut' | 'Food' | 'FoodApple' | 'FoodCake' | 'FoodCarrot' | 'FoodChickenLeg' | 'FoodEgg' | 'FoodFish' | 'FoodGrains' | 'FoodPizza' | 'FoodToast' | 'Form' | 'FormMultiple' | 'FormNew' | 'Fps120' | 'Fps240' | 'Fps30' | 'Fps60' | 'Fps960' | 'Frame' | 'FullScreenMaximize' | 'FullScreenMinimize' | 'Games' | 'GanttChart' | 'Gas' | 'GasPump' | 'Gather' | 'Gauge' | 'GaugeAdd' | 'Gavel' | 'GavelProhibited' | 'Gesture' | 'Gif' | 'Gift' | 'GiftCard' | 'GiftCardAdd' | 'GiftCardArrowRight' | 'GiftCardMoney' | 'GiftCardMultiple' | 'GiftOpen' | 'Glance' | 'GlanceDefault' | 'GlanceHorizontal' | 'GlanceHorizontalSparkle' | 'GlanceHorizontalSparkles' | 'Glasses' | 'GlassesOff' | 'Globe' | 'GlobeAdd' | 'GlobeArrowForward' | 'GlobeArrowUp' | 'GlobeClock' | 'GlobeDesktop' | 'GlobeError' | 'GlobeLocation' | 'GlobePerson' | 'GlobeProhibited' | 'GlobeSearch' | 'GlobeShield' | 'GlobeStar' | 'GlobeSurface' | 'GlobeSync' | 'GlobeVideo' | 'GlobeWarning' | 'Grid' | 'GridCircles' | 'GridDots' | 'GridKanban' | 'Group' | 'GroupDismiss' | 'GroupList' | 'GroupReturn' | 'Guardian' | 'Guest' | 'GuestAdd' | 'Guitar' | 'HandDraw' | 'HandLeft' | 'HandLeftChat' | 'HandOpenHeart' | 'HandRight' | 'HandRightOff' | 'HandWave' | 'Handshake' | 'HardDrive' | 'HardDriveCall' | 'HatGraduation' | 'HatGraduationAdd' | 'HatGraduationSparkle' | 'Hd' | 'Hdr' | 'HdrOff' | 'Headphones' | 'HeadphonesSoundWave' | 'Headset' | 'HeadsetAdd' | 'HeadsetVr' | 'Heart' | 'HeartBroken' | 'HeartCircle' | 'HeartCircleHint' | 'HeartOff' | 'HeartPulse' | 'HeartPulseCheckmark' | 'HeartPulseError' | 'HeartPulseWarning' | 'Hexagon' | 'HexagonThree' | 'Highlight' | 'HighlightAccent' | 'HighlightLink' | 'History' | 'HistoryDismiss' | 'Home' | 'HomeAdd' | 'HomeCheckmark' | 'HomeDatabase' | 'HomeHeart' | 'HomeMore' | 'HomePerson' | 'HomeSplit' | 'Hourglass' | 'HourglassHalf' | 'HourglassOneQuarter' | 'HourglassThreeQuarter' | 'Icons' | 'Image' | 'ImageAdd' | 'ImageAltText' | 'ImageArrowBack' | 'ImageArrowCounterclockwise' | 'ImageArrowForward' | 'ImageBorder' | 'ImageCircle' | 'ImageCopy' | 'ImageEdit' | 'ImageGlobe' | 'ImageMultiple' | 'ImageMultipleOff' | 'ImageOff' | 'ImageProhibited' | 'ImageReflection' | 'ImageSearch' | 'ImageShadow' | 'ImageSparkle' | 'ImageStack' | 'ImageTable' | 'ImmersiveReader' | 'Important' | 'Incognito' | 'Info' | 'InfoShield' | 'InkStroke' | 'InkStrokeArrowDown' | 'InkStrokeArrowUpDown' | 'InkingTool' | 'InkingToolAccent' | 'InprivateAccount' | 'Insert' | 'IosArrow' | 'IosArrowLtr' | 'IosArrowRtl' | 'IosChevronRight' | 'Iot' | 'IotAlert' | 'Javascript' | 'Joystick' | 'Key' | 'KeyCommand' | 'KeyMultiple' | 'KeyReset' | 'Keyboard123' | 'Keyboard' | 'KeyboardDock' | 'KeyboardLayoutFloat' | 'KeyboardLayoutOneHandedLeft' | 'KeyboardLayoutResize' | 'KeyboardLayoutSplit' | 'KeyboardMouse' | 'KeyboardShift' | 'KeyboardShiftUppercase' | 'KeyboardTab' | 'Kiosk' | 'Laptop' | 'LaptopDismiss' | 'LaptopMultiple' | 'LaptopSettings' | 'LaptopShield' | 'LaserTool' | 'Lasso' | 'LauncherSettings' | 'Layer' | 'LayerDiagonal' | 'LayerDiagonalAdd' | 'LayerDiagonalPerson' | 'LayoutCellFour' | 'LayoutCellFourFocusBottomLeft' | 'LayoutCellFourFocusBottomRight' | 'LayoutCellFourFocusTopLeft' | 'LayoutCellFourFocusTopRight' | 'LayoutColumnFour' | 'LayoutColumnFourFocusCenterLeft' | 'LayoutColumnFourFocusCenterRight' | 'LayoutColumnFourFocusLeft' | 'LayoutColumnFourFocusRight' | 'LayoutColumnOneThirdLeft' | 'LayoutColumnOneThirdRight' | 'LayoutColumnOneThirdRightHint' | 'LayoutColumnThree' | 'LayoutColumnThreeFocusCenter' | 'LayoutColumnThreeFocusLeft' | 'LayoutColumnThreeFocusRight' | 'LayoutColumnTwo' | 'LayoutColumnTwoFocusLeft' | 'LayoutColumnTwoFocusRight' | 'LayoutColumnTwoSplitLeft' | 'LayoutColumnTwoSplitLeftFocusBottomLeft' | 'LayoutColumnTwoSplitLeftFocusRight' | 'LayoutColumnTwoSplitLeftFocusTopLeft' | 'LayoutColumnTwoSplitRight' | 'LayoutColumnTwoSplitRightFocusBottomRight' | 'LayoutColumnTwoSplitRightFocusLeft' | 'LayoutColumnTwoSplitRightFocusTopRight' | 'LayoutRowFour' | 'LayoutRowFourFocusBottom' | 'LayoutRowFourFocusCenterBottom' | 'LayoutRowFourFocusCenterTop' | 'LayoutRowFourFocusTop' | 'LayoutRowThree' | 'LayoutRowThreeFocusBottom' | 'LayoutRowThreeFocusCenter' | 'LayoutRowThreeFocusTop' | 'LayoutRowTwo' | 'LayoutRowTwoFocusBottom' | 'LayoutRowTwoFocusTop' | 'LayoutRowTwoSplitBottom' | 'LayoutRowTwoSplitBottomFocusBottomLeft' | 'LayoutRowTwoSplitBottomFocusBottomRight' | 'LayoutRowTwoSplitBottomFocusTop' | 'LayoutRowTwoSplitTop' | 'LayoutRowTwoSplitTopFocusBottom' | 'LayoutRowTwoSplitTopFocusTopLeft' | 'LayoutRowTwoSplitTopFocusTopRight' | 'LeafOne' | 'LeafThree' | 'LeafTwo' | 'LearningApp' | 'Library' | 'Lightbulb' | 'LightbulbCheckmark' | 'LightbulbCircle' | 'LightbulbFilament' | 'LightbulbPerson' | 'Likert' | 'Line' | 'LineDashes' | 'LineHorizontal1' | 'LineHorizontal1Dashes' | 'LineHorizontal2DashesSolid' | 'LineHorizontal3' | 'LineHorizontal4' | 'LineHorizontal4Search' | 'LineHorizontal5' | 'LineHorizontal5Error' | 'LineStyle' | 'LineThickness' | 'Link' | 'LinkAdd' | 'LinkDismiss' | 'LinkEdit' | 'LinkMultiple' | 'LinkPerson' | 'LinkSettings' | 'LinkSquare' | 'LinkToolbox' | 'List' | 'ListBar' | 'ListBarTree' | 'ListBarTreeOffset' | 'ListRtl' | 'Live' | 'LiveOff' | 'LocalLanguage' | 'Location' | 'LocationAdd' | 'LocationAddLeft' | 'LocationAddRight' | 'LocationAddUp' | 'LocationArrow' | 'LocationArrowLeft' | 'LocationArrowRight' | 'LocationArrowUp' | 'LocationDismiss' | 'LocationLive' | 'LocationOff' | 'LocationTargetSquare' | 'LockClosed' | 'LockClosedKey' | 'LockMultiple' | 'LockOpen' | 'LockShield' | 'Lottery' | 'Luggage' | 'Mail' | 'MailAdd' | 'MailAlert' | 'MailAllRead' | 'MailAllUnread' | 'MailArrowDoubleBack' | 'MailArrowDown' | 'MailArrowForward' | 'MailArrowUp' | 'MailAttach' | 'MailCheckmark' | 'MailClock' | 'MailCopy' | 'MailDismiss' | 'MailEdit' | 'MailError' | 'MailInbox' | 'MailInboxAdd' | 'MailInboxAll' | 'MailInboxArrowDown' | 'MailInboxArrowRight' | 'MailInboxArrowUp' | 'MailInboxCheckmark' | 'MailInboxDismiss' | 'MailLink' | 'MailList' | 'MailMultiple' | 'MailOff' | 'MailOpenPerson' | 'MailPause' | 'MailProhibited' | 'MailRead' | 'MailReadMultiple' | 'MailRewind' | 'MailSettings' | 'MailShield' | 'MailTemplate' | 'MailUnread' | 'MailWarning' | 'Mailbox' | 'Map' | 'MapDrive' | 'Markdown' | 'MatchAppLayout' | 'MathFormatLinear' | 'MathFormatProfessional' | 'MathFormula' | 'MathSymbols' | 'Maximize' | 'MeetNow' | 'Megaphone' | 'MegaphoneCircle' | 'MegaphoneLoud' | 'MegaphoneOff' | 'Memory' | 'Mention' | 'MentionArrowDown' | 'MentionBrackets' | 'Merge' | 'Mic' | 'MicOff' | 'MicProhibited' | 'MicPulse' | 'MicPulseOff' | 'MicRecord' | 'MicSettings' | 'MicSparkle' | 'MicSync' | 'Microscope' | 'Midi' | 'MobileOptimized' | 'Mold' | 'Molecule' | 'Money' | 'MoneyCalculator' | 'MoneyDismiss' | 'MoneyHand' | 'MoneyOff' | 'MoneySettings' | 'MoreCircle' | 'MoreHorizontal' | 'MoreVertical' | 'MountainLocationBottom' | 'MountainLocationTop' | 'MountainTrail' | 'MoviesAndTv' | 'Multiplier12X' | 'Multiplier15X' | 'Multiplier18X' | 'Multiplier1X' | 'Multiplier2X' | 'Multiplier5X' | 'MultiselectLtr' | 'MultiselectRtl' | 'MusicNote1' | 'MusicNote2' | 'MusicNote2Play' | 'MusicNoteOff1' | 'MusicNoteOff2' | 'MyLocation' | 'Navigation' | 'NavigationLocationTarget' | 'NavigationPlay' | 'NavigationUnread' | 'NetworkAdapter' | 'NetworkCheck' | 'New' | 'News' | 'Next' | 'NextFrame' | 'Note' | 'NoteAdd' | 'NoteEdit' | 'NotePin' | 'Notebook' | 'NotebookAdd' | 'NotebookArrowCurveDown' | 'NotebookError' | 'NotebookEye' | 'NotebookLightning' | 'NotebookQuestionMark' | 'NotebookSection' | 'NotebookSectionArrowRight' | 'NotebookSubsection' | 'NotebookSync' | 'Notepad' | 'NotepadEdit' | 'NotepadPerson' | 'NumberCircle0' | 'NumberCircle1' | 'NumberCircle2' | 'NumberCircle3' | 'NumberCircle4' | 'NumberCircle5' | 'NumberCircle6' | 'NumberCircle7' | 'NumberCircle8' | 'NumberCircle9' | 'NumberRow' | 'NumberSymbol' | 'NumberSymbolDismiss' | 'NumberSymbolSquare' | 'Open' | 'OpenFolder' | 'OpenOff' | 'Options' | 'Organization' | 'OrganizationHorizontal' | 'Orientation' | 'Oval' | 'Oven' | 'PaddingDown' | 'PaddingLeft' | 'PaddingRight' | 'PaddingTop' | 'PageFit' | 'PaintBrush' | 'PaintBrushArrowDown' | 'PaintBrushArrowUp' | 'PaintBucket' | 'Pair' | 'PanelBottom' | 'PanelBottomContract' | 'PanelBottomExpand' | 'PanelLeft' | 'PanelLeftAdd' | 'PanelLeftContract' | 'PanelLeftExpand' | 'PanelLeftFocusRight' | 'PanelLeftHeader' | 'PanelLeftHeaderAdd' | 'PanelLeftHeaderKey' | 'PanelLeftKey' | 'PanelLeftText' | 'PanelLeftTextAdd' | 'PanelLeftTextDismiss' | 'PanelRight' | 'PanelRightAdd' | 'PanelRightContract' | 'PanelRightCursor' | 'PanelRightExpand' | 'PanelRightGallery' | 'PanelSeparateWindow' | 'PanelTopContract' | 'PanelTopExpand' | 'PanelTopGallery' | 'Password' | 'Patch' | 'Patient' | 'Pause' | 'PauseCircle' | 'PauseOff' | 'PauseSettings' | 'Payment' | 'Pen' | 'PenDismiss' | 'PenOff' | 'PenProhibited' | 'PenSparkle' | 'Pentagon' | 'People' | 'PeopleAdd' | 'PeopleAudience' | 'PeopleCall' | 'PeopleChat' | 'PeopleCheckmark' | 'PeopleCommunity' | 'PeopleCommunityAdd' | 'PeopleEdit' | 'PeopleError' | 'PeopleList' | 'PeopleLock' | 'PeopleMoney' | 'PeopleProhibited' | 'PeopleQueue' | 'PeopleSearch' | 'PeopleSettings' | 'PeopleStar' | 'PeopleSwap' | 'PeopleSync' | 'PeopleTeam' | 'PeopleTeamAdd' | 'PeopleTeamDelete' | 'PeopleTeamToolbox' | 'PeopleToolbox' | 'Person' | 'Person5' | 'Person6' | 'PersonAccounts' | 'PersonAdd' | 'PersonAlert' | 'PersonArrowBack' | 'PersonArrowLeft' | 'PersonArrowRight' | 'PersonAvailable' | 'PersonBoard' | 'PersonCall' | 'PersonChat' | 'PersonCircle' | 'PersonClock' | 'PersonDelete' | 'PersonDesktop' | 'PersonEdit' | 'PersonFeedback' | 'PersonHeart' | 'PersonInfo' | 'PersonKey' | 'PersonLightbulb' | 'PersonLightning' | 'PersonLink' | 'PersonLock' | 'PersonMail' | 'PersonMoney' | 'PersonNote' | 'PersonPhone' | 'PersonPill' | 'PersonProhibited' | 'PersonQuestionMark' | 'PersonRibbon' | 'PersonRunning' | 'PersonSearch' | 'PersonSettings' | 'PersonSquare' | 'PersonSquareCheckmark' | 'PersonStanding' | 'PersonStar' | 'PersonStarburst' | 'PersonSubtract' | 'PersonSupport' | 'PersonSwap' | 'PersonSync' | 'PersonTag' | 'PersonVoice' | 'PersonWalking' | 'PersonWarning' | 'PersonWrench' | 'Phone' | 'PhoneAdd' | 'PhoneArrowRight' | 'PhoneBriefcase' | 'PhoneChat' | 'PhoneCheckmark' | 'PhoneDesktop' | 'PhoneDesktopAdd' | 'PhoneDismiss' | 'PhoneEdit' | 'PhoneEraser' | 'PhoneFooterArrowDown' | 'PhoneHeaderArrowUp' | 'PhoneKey' | 'PhoneLaptop' | 'PhoneLinkSetup' | 'PhoneLock' | 'PhoneMultiple' | 'PhoneMultipleSettings' | 'PhonePageHeader' | 'PhonePagination' | 'PhonePerson' | 'PhoneScreenTime' | 'PhoneShake' | 'PhoneSpanIn' | 'PhoneSpanOut' | 'PhoneSpeaker' | 'PhoneStatusBar' | 'PhoneSubtract' | 'PhoneTablet' | 'PhoneUpdate' | 'PhoneUpdateCheckmark' | 'PhoneVerticalScroll' | 'PhoneVibrate' | 'PhotoFilter' | 'Pi' | 'PictureInPicture' | 'PictureInPictureEnter' | 'PictureInPictureExit' | 'Pill' | 'Pin' | 'PinOff' | 'Pipeline' | 'PipelineAdd' | 'PipelineArrowCurveDown' | 'PipelinePlay' | 'Pivot' | 'PlantGrass' | 'PlantRagweed' | 'Play' | 'PlayCircle' | 'PlayCircleHint' | 'PlayMultiple' | 'PlaySettings' | 'PlayingCards' | 'PlugConnected' | 'PlugConnectedAdd' | 'PlugConnectedCheckmark' | 'PlugConnectedSettings' | 'PlugDisconnected' | 'PointScan' | 'Poll' | 'PollHorizontal' | 'PollOff' | 'PortHdmi' | 'PortMicroUsb' | 'PortUsbA' | 'PortUsbC' | 'PositionBackward' | 'PositionForward' | 'PositionToBack' | 'PositionToFront' | 'Power' | 'Predictions' | 'Premium' | 'PremiumPerson' | 'PresenceAvailable' | 'PresenceAway' | 'PresenceBlocked' | 'PresenceBusy' | 'PresenceDnd' | 'PresenceOffline' | 'PresenceOof' | 'PresenceUnknown' | 'Presenter' | 'PresenterOff' | 'PreviewLink' | 'Previous' | 'PreviousFrame' | 'Print' | 'PrintAdd' | 'Production' | 'ProductionCheckmark' | 'Prohibited' | 'ProhibitedMultiple' | 'ProhibitedNote' | 'ProjectionScreen' | 'ProjectionScreenDismiss' | 'ProjectionScreenText' | 'ProtocolHandler' | 'Pulse' | 'PulseSquare' | 'PuzzleCube' | 'PuzzleCubePiece' | 'PuzzlePiece' | 'PuzzlePieceShield' | 'QrCode' | 'Question' | 'QuestionCircle' | 'QuizNew' | 'Radar' | 'RadarCheckmark' | 'RadarRectangleMultiple' | 'RadioButton' | 'RadioButtonOff' | 'Ram' | 'RatingMature' | 'RatioOneToOne' | 'ReOrder' | 'ReOrderDotsHorizontal' | 'ReOrderDotsVertical' | 'ReadAloud' | 'ReadingList' | 'ReadingListAdd' | 'ReadingModeMobile' | 'RealEstate' | 'Receipt' | 'ReceiptAdd' | 'ReceiptBag' | 'ReceiptCube' | 'ReceiptMoney' | 'ReceiptPlay' | 'ReceiptSearch' | 'ReceiptSparkles' | 'Record' | 'RecordStop' | 'RectangleLandscape' | 'RectangleLandscapeHintCopy' | 'RectangleLandscapeSparkle' | 'RectangleLandscapeSync' | 'RectangleLandscapeSyncOff' | 'RectanglePortraitLocationTarget' | 'Recycle' | 'RemixAdd' | 'Remote' | 'Rename' | 'Reorder' | 'Replay' | 'Resize' | 'ResizeImage' | 'ResizeLarge' | 'ResizeSmall' | 'ResizeTable' | 'ResizeVideo' | 'Reward' | 'Rewind' | 'Rhombus' | 'Ribbon' | 'RibbonAdd' | 'RibbonOff' | 'RibbonStar' | 'RoadCone' | 'Rocket' | 'RotateLeft' | 'RotateRight' | 'Router' | 'RowTriple' | 'Rss' | 'Ruler' | 'Run' | 'Sanitize' | 'Save' | 'SaveArrowRight' | 'SaveCopy' | 'SaveEdit' | 'SaveImage' | 'SaveMultiple' | 'SaveSearch' | 'SaveSync' | 'Savings' | 'ScaleFill' | 'ScaleFit' | 'Scales' | 'Scan' | 'ScanCamera' | 'ScanDash' | 'ScanObject' | 'ScanPerson' | 'ScanQrCode' | 'ScanTable' | 'ScanText' | 'ScanThumbUp' | 'ScanThumbUpOff' | 'ScanType' | 'ScanTypeCheckmark' | 'ScanTypeOff' | 'Scratchpad' | 'ScreenCut' | 'ScreenPerson' | 'ScreenSearch' | 'Screenshot' | 'ScreenshotRecord' | 'Script' | 'Search' | 'SearchInfo' | 'SearchSettings' | 'SearchShield' | 'SearchSquare' | 'SearchVisual' | 'Seat' | 'SeatAdd' | 'SelectAllOff' | 'SelectAllOn' | 'SelectObject' | 'SelectObjectSkew' | 'SelectObjectSkewDismiss' | 'SelectObjectSkewEdit' | 'Send' | 'SendBeaker' | 'SendClock' | 'SendCopy' | 'SerialPort' | 'Server' | 'ServerLink' | 'ServerMultiple' | 'ServerPlay' | 'ServerSurface' | 'ServerSurfaceMultiple' | 'ServiceBell' | 'Settings' | 'SettingsChat' | 'SettingsCogMultiple' | 'ShapeExclude' | 'ShapeIntersect' | 'ShapeOrganic' | 'ShapeSubtract' | 'ShapeUnion' | 'Shapes' | 'Share' | 'ShareAndroid' | 'ShareCloseTray' | 'ShareIos' | 'ShareScreenPerson' | 'ShareScreenPersonOverlay' | 'ShareScreenPersonOverlayInside' | 'ShareScreenPersonP' | 'ShareScreenStart' | 'ShareScreenStop' | 'Shield' | 'ShieldAdd' | 'ShieldBadge' | 'ShieldCheckmark' | 'ShieldDismiss' | 'ShieldDismissShield' | 'ShieldError' | 'ShieldGlobe' | 'ShieldKeyhole' | 'ShieldLock' | 'ShieldPerson' | 'ShieldPersonAdd' | 'ShieldProhibited' | 'ShieldQuestion' | 'ShieldTask' | 'Shifts' | 'Shifts30Minutes' | 'ShiftsActivity' | 'ShiftsAdd' | 'ShiftsAvailability' | 'ShiftsCheckmark' | 'ShiftsDay' | 'ShiftsOpen' | 'ShiftsProhibited' | 'ShiftsQuestionMark' | 'ShiftsTeam' | 'ShoppingBag' | 'ShoppingBagAdd' | 'ShoppingBagArrowLeft' | 'ShoppingBagDismiss' | 'ShoppingBagPause' | 'ShoppingBagPercent' | 'ShoppingBagPlay' | 'ShoppingBagTag' | 'Shortpick' | 'Showerhead' | 'SidebarSearchLtr' | 'SidebarSearchRtl' | 'SignOut' | 'Signature' | 'Sim' | 'SkipBack10' | 'SkipForward10' | 'SkipForward30' | 'SkipForwardTab' | 'SlashForward' | 'Sleep' | 'SlideAdd' | 'SlideArrowRight' | 'SlideContent' | 'SlideEraser' | 'SlideGrid' | 'SlideHide' | 'SlideLayout' | 'SlideLink' | 'SlideMicrophone' | 'SlideMultiple' | 'SlideMultipleArrowRight' | 'SlideMultipleSearch' | 'SlideRecord' | 'SlideSearch' | 'SlideSettings' | 'SlideSize' | 'SlideText' | 'SlideTextEdit' | 'SlideTextMultiple' | 'SlideTextPerson' | 'SlideTextSparkle' | 'SlideTransition' | 'Smartwatch' | 'SmartwatchDot' | 'Snooze' | 'SoundSource' | 'SoundWaveCircle' | 'Space3D' | 'Spacebar' | 'Sparkle' | 'SparkleCircle' | 'Speaker0' | 'Speaker1' | 'Speaker2' | 'SpeakerBluetooth' | 'SpeakerBox' | 'SpeakerEdit' | 'SpeakerMute' | 'SpeakerOff' | 'SpeakerSettings' | 'SpeakerUsb' | 'SpinnerIos' | 'SplitHint' | 'SplitHorizontal' | 'SplitVertical' | 'Sport' | 'SportAmericanFootball' | 'SportBaseball' | 'SportBasketball' | 'SportHockey' | 'SportSoccer' | 'SprayCan' | 'Square' | 'SquareAdd' | 'SquareArrowForward' | 'SquareDismiss' | 'SquareEraser' | 'SquareHint' | 'SquareHintApps' | 'SquareHintArrowBack' | 'SquareHintHexagon' | 'SquareHintSparkles' | 'SquareMultiple' | 'SquareShadow' | 'SquaresNested' | 'Stack' | 'StackAdd' | 'StackArrowForward' | 'StackStar' | 'StackVertical' | 'Star' | 'StarAdd' | 'StarArrowBack' | 'StarArrowRightEnd' | 'StarArrowRightStart' | 'StarCheckmark' | 'StarDismiss' | 'StarEdit' | 'StarEmphasis' | 'StarHalf' | 'StarLineHorizontal3' | 'StarOff' | 'StarOneQuarter' | 'StarProhibited' | 'StarSettings' | 'StarThreeQuarter' | 'Status' | 'Step' | 'Steps' | 'Stethoscope' | 'Sticker' | 'StickerAdd' | 'Stop' | 'Storage' | 'StoreMicrosoft' | 'Stream' | 'StreamInput' | 'StreamInputOutput' | 'StreamOutput' | 'StreetSign' | 'StyleGuide' | 'SubGrid' | 'Subtitles' | 'Subtract' | 'SubtractCircle' | 'SubtractCircleArrowBack' | 'SubtractCircleArrowForward' | 'SubtractParentheses' | 'SubtractSquare' | 'SubtractSquareMultiple' | 'SurfaceEarbuds' | 'SurfaceHub' | 'SwimmingPool' | 'SwipeDown' | 'SwipeRight' | 'SwipeUp' | 'Symbols' | 'SyncOff' | 'Syringe' | 'System' | 'Tab' | 'TabAdd' | 'TabArrowLeft' | 'TabDesktop' | 'TabDesktopArrowClockwise' | 'TabDesktopArrowLeft' | 'TabDesktopBottom' | 'TabDesktopClock' | 'TabDesktopCopy' | 'TabDesktopImage' | 'TabDesktopLink' | 'TabDesktopMultiple' | 'TabDesktopMultipleAdd' | 'TabDesktopMultipleBottom' | 'TabDesktopNewPage' | 'TabInPrivate' | 'TabInprivateAccount' | 'TabProhibited' | 'TabShieldDismiss' | 'Table' | 'TableAdd' | 'TableArrowUp' | 'TableBottomRow' | 'TableCalculator' | 'TableCellEdit' | 'TableCellsMerge' | 'TableCellsSplit' | 'TableChecker' | 'TableColumnTopBottom' | 'TableCopy' | 'TableDefault' | 'TableDeleteColumn' | 'TableDeleteRow' | 'TableDismiss' | 'TableEdit' | 'TableFreezeColumn' | 'TableFreezeColumnAndRow' | 'TableFreezeRow' | 'TableImage' | 'TableInsertColumn' | 'TableInsertRow' | 'TableLightning' | 'TableLink' | 'TableLock' | 'TableMoveAbove' | 'TableMoveBelow' | 'TableMoveLeft' | 'TableMoveRight' | 'TableMultiple' | 'TableOffset' | 'TableOffsetAdd' | 'TableOffsetLessThanOrEqualTo' | 'TableOffsetSettings' | 'TableResizeColumn' | 'TableResizeRow' | 'TableSearch' | 'TableSettings' | 'TableSimple' | 'TableSimpleCheckmark' | 'TableSimpleExclude' | 'TableSimpleInclude' | 'TableSimpleMultiple' | 'TableSplit' | 'TableStackAbove' | 'TableStackBelow' | 'TableStackLeft' | 'TableStackRight' | 'TableSwitch' | 'Tablet' | 'TabletLaptop' | 'TabletSpeaker' | 'Tabs' | 'Tag' | 'TagCircle' | 'TagDismiss' | 'TagError' | 'TagLock' | 'TagLockAccent' | 'TagMultiple' | 'TagOff' | 'TagQuestionMark' | 'TagReset' | 'TagSearch' | 'TapDouble' | 'TapSingle' | 'Target' | 'TargetAdd' | 'TargetArrow' | 'TargetDismiss' | 'TargetEdit' | 'TaskListAdd' | 'TaskListLtr' | 'TaskListRtl' | 'TaskListSquareAdd' | 'TaskListSquareDatabase' | 'TaskListSquareLtr' | 'TaskListSquarePerson' | 'TaskListSquareRtl' | 'TaskListSquareSettings' | 'TasksApp' | 'TeardropBottomRight' | 'Teddy' | 'Temperature' | 'Tent' | 'TetrisApp' | 'Text' | 'TextAbcUnderlineDouble' | 'TextAdd' | 'TextAddSpaceAfter' | 'TextAddSpaceBefore' | 'TextAddT' | 'TextAlignCenter' | 'TextAlignCenterRotate270' | 'TextAlignCenterRotate90' | 'TextAlignDistributed' | 'TextAlignDistributedEvenly' | 'TextAlignDistributedVertical' | 'TextAlignJustify' | 'TextAlignJustifyLow' | 'TextAlignJustifyLow90' | 'TextAlignJustifyLowRotate270' | 'TextAlignJustifyLowRotate90' | 'TextAlignJustifyRotate270' | 'TextAlignJustifyRotate90' | 'TextAlignLeft' | 'TextAlignLeftRotate270' | 'TextAlignLeftRotate90' | 'TextAlignRight' | 'TextAlignRightRotate270' | 'TextAlignRightRotate90' | 'TextArrowDownRightColumn' | 'TextAsterisk' | 'TextBaseline' | 'TextBold' | 'TextBoxSettings' | 'TextBulletList' | 'TextBulletList270' | 'TextBulletList90' | 'TextBulletListAdd' | 'TextBulletListCheckmark' | 'TextBulletListDismiss' | 'TextBulletListLtr' | 'TextBulletListLtr90' | 'TextBulletListLtrRotate270' | 'TextBulletListRtl' | 'TextBulletListRtl90' | 'TextBulletListSquare' | 'TextBulletListSquareClock' | 'TextBulletListSquareEdit' | 'TextBulletListSquarePerson' | 'TextBulletListSquareSearch' | 'TextBulletListSquareSettings' | 'TextBulletListSquareShield' | 'TextBulletListSquareSparkle' | 'TextBulletListSquareToolbox' | 'TextBulletListSquareWarning' | 'TextBulletListTree' | 'TextCaseLowercase' | 'TextCaseTitle' | 'TextCaseUppercase' | 'TextChangeCase' | 'TextClearFormatting' | 'TextCollapse' | 'TextColor' | 'TextColorAccent' | 'TextColumnOne' | 'TextColumnOneNarrow' | 'TextColumnOneSemiNarrow' | 'TextColumnOneWide' | 'TextColumnOneWideLightning' | 'TextColumnThree' | 'TextColumnTwo' | 'TextColumnTwoLeft' | 'TextColumnTwoRight' | 'TextColumnWide' | 'TextContinuous' | 'TextDensity' | 'TextDescription' | 'TextDescriptionLtr' | 'TextDescriptionRtl' | 'TextDirectionHorizontalLeft' | 'TextDirectionHorizontalLtr' | 'TextDirectionHorizontalRight' | 'TextDirectionHorizontalRtl' | 'TextDirectionRotate270Right' | 'TextDirectionRotate315Right' | 'TextDirectionRotate45Right' | 'TextDirectionRotate90Left' | 'TextDirectionRotate90Ltr' | 'TextDirectionRotate90Right' | 'TextDirectionRotate90Rtl' | 'TextDirectionVertical' | 'TextEditStyle' | 'TextEditStyleCharacterA' | 'TextEditStyleCharacterGa' | 'TextEffects' | 'TextEffectsSparkle' | 'TextExpand' | 'TextField' | 'TextFirstLine' | 'TextFont' | 'TextFontInfo' | 'TextFontSize' | 'TextFootnote' | 'TextGrammarArrowLeft' | 'TextGrammarArrowRight' | 'TextGrammarCheckmark' | 'TextGrammarDismiss' | 'TextGrammarError' | 'TextGrammarLightning' | 'TextGrammarSettings' | 'TextGrammarWand' | 'TextHanging' | 'TextHeader1' | 'TextHeader1Lines' | 'TextHeader1LinesCaret' | 'TextHeader2' | 'TextHeader2Lines' | 'TextHeader2LinesCaret' | 'TextHeader3' | 'TextHeader3Lines' | 'TextHeader3LinesCaret' | 'TextIndentDecrease' | 'TextIndentDecreaseLtr' | 'TextIndentDecreaseLtr90' | 'TextIndentDecreaseLtrRotate270' | 'TextIndentDecreaseRotate270' | 'TextIndentDecreaseRotate90' | 'TextIndentDecreaseRtl' | 'TextIndentDecreaseRtl90' | 'TextIndentDecreaseRtlRotate270' | 'TextIndentIncrease' | 'TextIndentIncreaseLtr' | 'TextIndentIncreaseLtr90' | 'TextIndentIncreaseLtrRotate270' | 'TextIndentIncreaseRotate270' | 'TextIndentIncreaseRotate90' | 'TextIndentIncreaseRtl' | 'TextIndentIncreaseRtl90' | 'TextIndentIncreaseRtlRotate270' | 'TextItalic' | 'TextLineSpacing' | 'TextMore' | 'TextNumberFormat' | 'TextNumberListLtr' | 'TextNumberListLtr90' | 'TextNumberListLtrRotate270' | 'TextNumberListRotate270' | 'TextNumberListRotate90' | 'TextNumberListRtl' | 'TextNumberListRtl90' | 'TextNumberListRtlRotate270' | 'TextParagraph' | 'TextParagraphDirection' | 'TextParagraphDirectionLeft' | 'TextParagraphDirectionRight' | 'TextPeriodAsterisk' | 'TextPositionBehind' | 'TextPositionFront' | 'TextPositionLine' | 'TextPositionSquare' | 'TextPositionSquareLeft' | 'TextPositionSquareRight' | 'TextPositionThrough' | 'TextPositionTight' | 'TextPositionTopBottom' | 'TextProofingTools' | 'TextQuote' | 'TextSortAscending' | 'TextSortDescending' | 'TextStrikethrough' | 'TextSubscript' | 'TextSuperscript' | 'TextT' | 'TextTTag' | 'TextUnderline' | 'TextUnderlineCharacterU' | 'TextUnderlineDouble' | 'TextWholeWord' | 'TextWordCount' | 'TextWrap' | 'TextWrapOff' | 'Textbox' | 'TextboxAlignBottom' | 'TextboxAlignBottomCenter' | 'TextboxAlignBottomLeft' | 'TextboxAlignBottomRight' | 'TextboxAlignBottomRotate90' | 'TextboxAlignCenter' | 'TextboxAlignMiddle' | 'TextboxAlignMiddleLeft' | 'TextboxAlignMiddleRight' | 'TextboxAlignMiddleRotate90' | 'TextboxAlignTop' | 'TextboxAlignTopCenter' | 'TextboxAlignTopLeft' | 'TextboxAlignTopRight' | 'TextboxAlignTopRotate90' | 'TextboxMore' | 'TextboxRotate90' | 'TextboxSettings' | 'Thinking' | 'ThumbDislike' | 'ThumbLike' | 'ThumbLikeDislike' | 'TicketDiagonal' | 'TicketHorizontal' | 'TimeAndWeather' | 'TimePicker' | 'Timeline' | 'Timer10' | 'Timer' | 'Timer2' | 'Timer3' | 'TimerOff' | 'ToggleLeft' | 'ToggleMultiple' | 'ToggleRight' | 'Toolbox' | 'TooltipQuote' | 'TopSpeed' | 'Translate' | 'TranslateAuto' | 'TranslateOff' | 'Transmission' | 'TrayItemAdd' | 'TrayItemRemove' | 'TreeDeciduous' | 'TreeEvergreen' | 'Triangle' | 'TriangleDown' | 'TriangleLeft' | 'TriangleRight' | 'TriangleUp' | 'Trophy' | 'TrophyLock' | 'TrophyOff' | 'Tv' | 'TvArrowRight' | 'TvUsb' | 'Umbrella' | 'UninstallApp' | 'UsbPlug' | 'UsbStick' | 'Vault' | 'VehicleBicycle' | 'VehicleBus' | 'VehicleCab' | 'VehicleCableCar' | 'VehicleCar' | 'VehicleCarCollision' | 'VehicleCarParking' | 'VehicleCarProfile' | 'VehicleCarProfileLtr' | 'VehicleCarProfileLtrClock' | 'VehicleCarProfileRtl' | 'VehicleShip' | 'VehicleSubway' | 'VehicleSubwayClock' | 'VehicleTruck' | 'VehicleTruckBag' | 'VehicleTruckCube' | 'VehicleTruckProfile' | 'Video' | 'Video360' | 'Video360Off' | 'VideoAdd' | 'VideoBackgroundEffect' | 'VideoBackgroundEffectHorizontal' | 'VideoChat' | 'VideoClip' | 'VideoClipMultiple' | 'VideoClipOff' | 'VideoClipOptimize' | 'VideoLink' | 'VideoOff' | 'VideoPeople' | 'VideoPerson' | 'VideoPersonCall' | 'VideoPersonClock' | 'VideoPersonOff' | 'VideoPersonPulse' | 'VideoPersonSparkle' | 'VideoPersonSparkleOff' | 'VideoPersonStar' | 'VideoPersonStarOff' | 'VideoPlayPause' | 'VideoProhibited' | 'VideoRecording' | 'VideoSecurity' | 'VideoSwitch' | 'VideoSync' | 'ViewDesktop' | 'ViewDesktopMobile' | 'VirtualNetwork' | 'VirtualNetworkToolbox' | 'Voicemail' | 'VoicemailArrowBack' | 'VoicemailArrowForward' | 'VoicemailArrowSubtract' | 'VoicemailShield' | 'VoicemailSubtract' | 'Vote' | 'WalkieTalkie' | 'Wallet' | 'WalletCreditCard' | 'Wallpaper' | 'Wand' | 'Warning' | 'WarningShield' | 'Washer' | 'Water' | 'WeatherBlowingSnow' | 'WeatherCloudy' | 'WeatherDrizzle' | 'WeatherDuststorm' | 'WeatherFog' | 'WeatherHailDay' | 'WeatherHailNight' | 'WeatherHaze' | 'WeatherMoon' | 'WeatherMoonOff' | 'WeatherPartlyCloudyDay' | 'WeatherPartlyCloudyNight' | 'WeatherRain' | 'WeatherRainShowersDay' | 'WeatherRainShowersNight' | 'WeatherRainSnow' | 'WeatherSnow' | 'WeatherSnowShowerDay' | 'WeatherSnowShowerNight' | 'WeatherSnowflake' | 'WeatherSqualls' | 'WeatherSunny' | 'WeatherSunnyHigh' | 'WeatherSunnyLow' | 'WeatherThunderstorm' | 'WebAsset' | 'Whiteboard' | 'WhiteboardOff' | 'Wifi1' | 'Wifi2' | 'Wifi3' | 'Wifi4' | 'WifiLock' | 'WifiOff' | 'WifiSettings' | 'WifiWarning' | 'Window' | 'WindowAd' | 'WindowAdOff' | 'WindowAdPerson' | 'WindowApps' | 'WindowArrowUp' | 'WindowBulletList' | 'WindowBulletListAdd' | 'WindowConsole' | 'WindowDatabase' | 'WindowDevEdit' | 'WindowDevTools' | 'WindowEdit' | 'WindowHeaderHorizontal' | 'WindowHeaderHorizontalOff' | 'WindowHeaderVertical' | 'WindowInprivate' | 'WindowInprivateAccount' | 'WindowLocationTarget' | 'WindowMultiple' | 'WindowMultipleSwap' | 'WindowNew' | 'WindowPlay' | 'WindowSettings' | 'WindowShield' | 'WindowText' | 'WindowWrench' | 'Wrench' | 'WrenchScrewdriver' | 'WrenchSettings' | 'XboxConsole' | 'XboxController' | 'XboxControllerError' | 'Xray' | 'ZoomFit' | 'ZoomIn' | 'ZoomOut';
type ActionStyle = 'default' | 'positive' | 'destructive';
type ActionMode = 'primary' | 'secondary';
type MenuActionArray = (IExecuteAction | IInsertImageAction | IOpenUrlAction | IOpenUrlDialogAction | IResetInputsAction | ISubmitAction | IToggleVisibilityAction)[];
type ThemeName = 'Light' | 'Dark';
type ElementHeight = 'auto' | 'stretch';
type HorizontalAlignment = 'Left' | 'Center' | 'Right';
type Spacing = 'None' | 'ExtraSmall' | 'Small' | 'Default' | 'Medium' | 'Large' | 'ExtraLarge' | 'Padding';
type TargetWidth = 'VeryNarrow' | 'Narrow' | 'Standard' | 'Wide' | 'atLeast:VeryNarrow' | 'atMost:VeryNarrow' | 'atLeast:Narrow' | 'atMost:Narrow' | 'atLeast:Standard' | 'atMost:Standard' | 'atLeast:Wide' | 'atMost:Wide';
type ContainerStyle = 'default' | 'emphasis' | 'accent' | 'good' | 'attention' | 'warning';
type VerticalAlignment = 'Top' | 'Center' | 'Bottom';
type FlowLayoutItemFit = 'Fit' | 'Fill';
type FillMode = 'Cover' | 'RepeatHorizontally' | 'RepeatVertically' | 'Repeat';
type TextSize = 'Small' | 'Default' | 'Medium' | 'Large' | 'ExtraLarge';
type TextWeight = 'Lighter' | 'Default' | 'Bolder';
type TextColor = 'Default' | 'Dark' | 'Light' | 'Accent' | 'Good' | 'Warning' | 'Attention';
type FontType = 'Default' | 'Monospace';
type TextBlockStyle = 'default' | 'columnHeader' | 'heading';
type ImageStyle = 'Default' | 'Person' | 'RoundedCorners';
type Size = 'Auto' | 'Stretch' | 'Small' | 'Medium' | 'Large';
type ImageFitMode = 'Cover' | 'Contain' | 'Fill';
type InputTextStyle = 'Text' | 'Tel' | 'Url' | 'Email' | 'Password';
type AssociatedInputs = 'auto' | 'none';
type ChoiceSetInputStyle = 'compact' | 'expanded' | 'filtered';
type RatingSize = 'Medium' | 'Large';
type RatingColor = 'Neutral' | 'Marigold';
type RatingStyle = 'Default' | 'Compact';
type IconSize = 'xxSmall' | 'xSmall' | 'Small' | 'Standard' | 'Medium' | 'Large' | 'xLarge' | 'xxLarge';
type IconStyle = 'Regular' | 'Filled';
type CarouselPageAnimation = 'Slide' | 'CrossFade' | 'None';
type BadgeIconPosition = 'Before' | 'After';
type BadgeAppearance = 'Filled' | 'Tint';
type BadgeSize = 'Medium' | 'Large' | 'ExtraLarge';
type BadgeShape = 'Square' | 'Rounded' | 'Circular';
type BadgeStyle = 'Default' | 'Subtle' | 'Informative' | 'Accent' | 'Good' | 'Attention' | 'Warning';
type ProgressRingLabelPosition = 'Before' | 'After' | 'Above' | 'Below';
type ProgressRingSize = 'Tiny' | 'Small' | 'Medium' | 'Large';
type ProgressBarColor = 'Accent' | 'Good' | 'Warning' | 'Attention';
type ChartColorSet = 'categorical' | 'sequential' | 'sequentialred' | 'sequentialgreen' | 'sequentialyellow' | 'diverging';
type ChartColor = 'good' | 'warning' | 'attention' | 'neutral' | 'categoricalRed' | 'categoricalPurple' | 'categoricalLavender' | 'categoricalBlue' | 'categoricalLightBlue' | 'categoricalTeal' | 'categoricalGreen' | 'categoricalLime' | 'categoricalMarigold' | 'sequential1' | 'sequential2' | 'sequential3' | 'sequential4' | 'sequential5' | 'sequential6' | 'sequential7' | 'sequential8' | 'divergingBlue' | 'divergingLightBlue' | 'divergingCyan' | 'divergingTeal' | 'divergingYellow' | 'divergingPeach' | 'divergingLightRed' | 'divergingRed' | 'divergingMaroon' | 'divergingGray' | 'sequentialRed1' | 'sequentialRed2' | 'sequentialRed3' | 'sequentialRed4' | 'sequentialRed5' | 'sequentialRed6' | 'sequentialRed7' | 'sequentialRed8' | 'sequentialGreen1' | 'sequentialGreen2' | 'sequentialGreen3' | 'sequentialGreen4' | 'sequentialGreen5' | 'sequentialGreen6' | 'sequentialGreen7' | 'sequentialGreen8' | 'sequentialYellow1' | 'sequentialYellow2' | 'sequentialYellow3' | 'sequentialYellow4' | 'sequentialYellow5' | 'sequentialYellow6' | 'sequentialYellow7' | 'sequentialYellow8';
type DonutThickness = 'Thin' | 'Thick';
type HorizontalBarChartDisplayMode = 'AbsoluteWithAxis' | 'AbsoluteNoAxis' | 'PartToWhole';
type GaugeChartValueFormat = 'Percentage' | 'Fraction';
type CodeLanguage = 'Bash' | 'C' | 'Cpp' | 'CSharp' | 'Css' | 'Dos' | 'Go' | 'Graphql' | 'Html' | 'Java' | 'JavaScript' | 'Json' | 'ObjectiveC' | 'Perl' | 'Php' | 'PlainText' | 'PowerShell' | 'Python' | 'Sql' | 'TypeScript' | 'VbNet' | 'Verilog' | 'Vhdl' | 'Xml';
type PersonaIconStyle = 'profilePicture' | 'contactCard' | 'none';
type PersonaDisplayStyle = 'iconAndName' | 'iconOnly' | 'nameOnly';
type FallbackElement = IContainer | IActionSet | IColumnSet | IMedia | IRichTextBlock | ITable | ITextBlock | IFactSet | IImageSet | IImage | ITextInput | IDateInput | ITimeInput | INumberInput | IToggleInput | IChoiceSetInput | IRatingInput | IRating | ICompoundButton | IIcon | ICarousel | IBadge | IProgressRing | IProgressBar | IDonutChart | IPieChart | IGroupedVerticalBarChart | IVerticalBarChart | IHorizontalBarChart | IStackedHorizontalBarChart | ILineChart | IGaugeChart | ICodeBlock | IComUserMicrosoftGraphComponent | IComUsersMicrosoftGraphComponent | IComResourceMicrosoftGraphComponent | IComFileMicrosoftGraphComponent | IComEventMicrosoftGraphComponent | 'drop';
type CardElementArray = (IActionSet | IBadge | ICarousel | IDonutChart | IGaugeChart | IHorizontalBarChart | IStackedHorizontalBarChart | ILineChart | IPieChart | IVerticalBarChart | IGroupedVerticalBarChart | ICodeBlock | IColumnSet | IComEventMicrosoftGraphComponent | IComFileMicrosoftGraphComponent | IComResourceMicrosoftGraphComponent | IComUserMicrosoftGraphComponent | IComUsersMicrosoftGraphComponent | ICompoundButton | IContainer | IFactSet | IIcon | IImage | IImageSet | IChoiceSetInput | IDateInput | INumberInput | IRatingInput | ITextInput | ITimeInput | IToggleInput | IMedia | IProgressBar | IProgressRing | IRating | IRichTextBlock | ITable | ITextBlock)[];
type ImageSize = 'Small' | 'Medium' | 'Large';
type TableCellArray = ITableCell[];
type TableRowArray = ITableRow[];
type RichTextBlockInlineArray = (ITextRun | IIconRun | IImageRun | string)[];
type ColumnArray = IColumn[];
type ActionArray = (IExecuteAction | IInsertImageAction | IOpenUrlAction | IOpenUrlDialogAction | IPopoverAction | IResetInputsAction | IShowCardAction | ISubmitAction | IToggleVisibilityAction)[];
type PopoverPosition = 'Above' | 'Below' | 'Before' | 'After';
type FallbackAction = ISubmitAction | IOpenUrlAction | IExecuteAction | IToggleVisibilityAction | IShowCardAction | IResetInputsAction | IPopoverAction | IOpenUrlDialogAction | IInsertImageAction | 'drop';
type ImageInsertPosition = 'Selection' | 'Top' | 'Bottom';
type Version = '1.0' | '1.1' | '1.2' | '1.3' | '1.4' | '1.5' | '1.6';
type TeamsCardWidth = 'full';
type MentionType = 'Person' | 'Tag';
/**
 * An Adaptive Card, containing a free-form body of card elements, and an optional set of actions.
 */
interface IAdaptiveCard {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **AdaptiveCard**.
     */
    readonly type: 'AdaptiveCard';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * An Action that will be invoked when the element is tapped or clicked. Action.ShowCard is not supported.
     */
    selectAction?: IExecuteAction | IInsertImageAction | IOpenUrlAction | IOpenUrlDialogAction | IPopoverAction | IResetInputsAction | ISubmitAction | IToggleVisibilityAction;
    /**
     * The style of the container. Container styles control the colors of the background, border and text inside the container, in such a way that contrast requirements are always met.
     */
    style?: ContainerStyle;
    /**
     * The layouts associated with the container. The container can dynamically switch from one layout to another as the card's width changes. See [Container layouts](https://adaptivecards.microsoft.com/?topic=container-layouts) for more details.
     */
    layouts?: (IStackLayout | IFlowLayout | IAreaGridLayout)[];
    /**
     * The minimum height, in pixels, of the container, in the `<number>px` format.
     */
    minHeight?: string;
    /**
     * Defines the container's background image.
     */
    backgroundImage?: string | IBackgroundImage;
    /**
     * Controls how the container's content should be vertically aligned.
     */
    verticalContentAlignment?: VerticalAlignment;
    /**
     * Controls if the content of the card is to be rendered left-to-right or right-to-left.
     */
    rtl?: boolean;
    /**
     * A URL to the Adaptive Card schema the card is authored against.
     */
    $schema?: string;
    /**
     * The Adaptive Card schema version the card is authored against.
     */
    version?: Version;
    /**
     * The text that should be displayed if the client is not able to render the card.
     */
    fallbackText?: string;
    /**
     * The text that should be spoken for the entire card.
     */
    speak?: string;
    /**
     * Defines how the card can be refreshed by making a request to the target Bot.
     */
    refresh?: IRefreshDefinition;
    /**
     * Defines authentication information to enable on-behalf-of single-sign-on or just-in-time OAuth. This information is used in conjunction with the refresh property and Action.Execute in general.
     */
    authentication?: IAuthentication;
    /**
     * Teams-specific metadata associated with the card.
     */
    msteams?: ITeamsCardProperties;
    /**
     * Metadata associated with the card.
     */
    metadata?: ICardMetadata;
    /**
     * Resources card elements can reference.
     */
    resources?: IResources;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    /**
     * The body of the card, comprised of a list of elements displayed according to the layouts property. If the layouts property is not specified, a Layout.Stack is used.
     */
    body: CardElementArray;
    /**
     * The card level actions, which always appear at the bottom of the card.
     */
    actions?: ActionArray;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IAdaptiveCard.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of AdaptiveCard, false otherwise.
 */
declare function isAdaptiveCard(value: unknown): value is IAdaptiveCard;
type AdaptiveCardOptions = Partial<Omit<IAdaptiveCard, 'type' | 'body'>>;
/**
 * An Adaptive Card, containing a free-form body of card elements, and an optional set of actions.
 */
declare class AdaptiveCard implements IAdaptiveCard {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **AdaptiveCard**.
     */
    readonly type = "AdaptiveCard";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * An Action that will be invoked when the element is tapped or clicked. Action.ShowCard is not supported.
     */
    selectAction?: IExecuteAction | IInsertImageAction | IOpenUrlAction | IOpenUrlDialogAction | IPopoverAction | IResetInputsAction | ISubmitAction | IToggleVisibilityAction;
    /**
     * The style of the container. Container styles control the colors of the background, border and text inside the container, in such a way that contrast requirements are always met.
     */
    style?: ContainerStyle;
    /**
     * The layouts associated with the container. The container can dynamically switch from one layout to another as the card's width changes. See [Container layouts](https://adaptivecards.microsoft.com/?topic=container-layouts) for more details.
     */
    layouts?: (IStackLayout | IFlowLayout | IAreaGridLayout)[];
    /**
     * The minimum height, in pixels, of the container, in the `<number>px` format.
     */
    minHeight?: string;
    /**
     * Defines the container's background image.
     */
    backgroundImage?: string | IBackgroundImage;
    /**
     * Controls how the container's content should be vertically aligned.
     */
    verticalContentAlignment?: VerticalAlignment;
    /**
     * Controls if the content of the card is to be rendered left-to-right or right-to-left.
     */
    rtl?: boolean;
    /**
     * A URL to the Adaptive Card schema the card is authored against.
     */
    $schema?: string;
    /**
     * The Adaptive Card schema version the card is authored against.
     */
    version?: Version;
    /**
     * The text that should be displayed if the client is not able to render the card.
     */
    fallbackText?: string;
    /**
     * The text that should be spoken for the entire card.
     */
    speak?: string;
    /**
     * Defines how the card can be refreshed by making a request to the target Bot.
     */
    refresh?: IRefreshDefinition;
    /**
     * Defines authentication information to enable on-behalf-of single-sign-on or just-in-time OAuth. This information is used in conjunction with the refresh property and Action.Execute in general.
     */
    authentication?: IAuthentication;
    /**
     * Teams-specific metadata associated with the card.
     */
    msteams?: ITeamsCardProperties;
    /**
     * Metadata associated with the card.
     */
    metadata?: ICardMetadata;
    /**
     * Resources card elements can reference.
     */
    resources?: IResources;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    /**
     * The body of the card, comprised of a list of elements displayed according to the layouts property. If the layouts property is not specified, a Layout.Stack is used.
     */
    body: CardElementArray;
    /**
     * The card level actions, which always appear at the bottom of the card.
     */
    actions?: ActionArray;
    constructor(...body: CardElementArray);
    withOptions(value: AdaptiveCardOptions): this;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsSortKey(isSortKey?: boolean): this;
    withSelectAction(selectAction: IExecuteAction | IInsertImageAction | IOpenUrlAction | IOpenUrlDialogAction | IPopoverAction | IResetInputsAction | ISubmitAction | IToggleVisibilityAction): this;
    withStyle(style: ContainerStyle): this;
    withLayouts(...layouts: (IStackLayout | IFlowLayout | IAreaGridLayout)[]): this;
    withMinHeight(minHeight: string): this;
    withBackgroundImage(backgroundImage: string | IBackgroundImage): this;
    withVerticalContentAlignment(verticalContentAlignment: VerticalAlignment): this;
    withRtl(rtl: boolean): this;
    with$schema($schema: string): this;
    withVersion(version: Version): this;
    withFallbackText(fallbackText: string): this;
    withSpeak(speak: string): this;
    withRefresh(refresh: IRefreshDefinition): this;
    withAuthentication(authentication: IAuthentication): this;
    withMsteams(msteams: ITeamsCardProperties): this;
    withMetadata(metadata: ICardMetadata): this;
    withResources(resources: IResources): this;
    withFallback(fallback: FallbackElement): this;
    withBody(...body: CardElementArray): this;
    withActions(...actions: ActionArray): this;
}
/**
 * Represents a list of versioned capabilities a host application must support.
 */
interface IHostCapabilities extends Record<string, string> {
}
type HostCapabilitiesOptions = Partial<IHostCapabilities>;
/**
 * Represents a list of versioned capabilities a host application must support.
 */
declare class HostCapabilities implements IHostCapabilities {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    constructor(options?: HostCapabilitiesOptions);
    static from(options: IHostCapabilities): HostCapabilities;
    [key: string]: string;
}
/**
 * Gathers input values, merges them with the data property if specified, and sends them to the Bot via an Invoke activity. The Bot can respond synchronously and return an updated Adaptive Card to be displayed by the client. Action.Execute works in all Adaptive Card hosts.
 */
interface IExecuteAction {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Action.Execute**.
     */
    readonly type: 'Action.Execute';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The title of the action, as it appears on buttons.
     */
    title?: string;
    /**
     * A URL (or Base64-encoded Data URI) to a PNG, GIF, JPEG or SVG image to be displayed on the left of the action's title.
     *
     * `iconUrl` also accepts the `<icon-name>[,regular|filled]` format to display an icon from the vast [Adaptive Card icon catalog](https://adaptivecards.microsoft.com/?topic=icon-catalog) instead of an image.
     */
    iconUrl?: string;
    /**
     * Control the style of the action, affecting its visual and spoken representations.
     */
    style?: ActionStyle;
    /**
     * Controls if the action is primary or secondary. Secondary actions appear in an overflow menu.
     */
    mode?: ActionMode;
    /**
     * The tooltip text to display when the action is hovered over.
     */
    tooltip?: string;
    /**
     * Controls the enabled state of the action. A disabled action cannot be clicked. If the action is represented as a button, the button's style will reflect this state.
     */
    isEnabled?: boolean;
    /**
     * The actions to display in the overflow menu of a Split action button.
     */
    menuActions?: MenuActionArray;
    /**
     * A set of theme-specific icon URLs.
     */
    themedIconUrls?: IThemedUrl[];
    /**
     * The data to send to the Bot when the action is executed. When expressed as an object, `data` is sent back to the Bot when the action is executed, adorned with the values of the inputs expressed as key/value pairs, where the key is the Id of the input. If `data` is expressed as a string, input values are not sent to the Bot.
     */
    data?: string | ISubmitActionData;
    /**
     * The Ids of the inputs associated with the Action.Submit. When the action is executed, the values of the associated inputs are sent to the Bot. See [Input validation](https://adaptivecards.microsoft.com/?topic=input-validation) for more details.
     */
    associatedInputs?: AssociatedInputs;
    /**
     * Controls if the action is enabled only if at least one required input has been filled by the user.
     */
    conditionallyEnabled?: boolean;
    /**
     * The verb of the action.
     */
    verb?: string;
    /**
     * An alternate action to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackAction;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IExecuteAction.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of ExecuteAction, false otherwise.
 */
declare function isExecuteAction(value: unknown): value is IExecuteAction;
type ExecuteActionOptions = Partial<Omit<IExecuteAction, 'type'>>;
/**
 * Gathers input values, merges them with the data property if specified, and sends them to the Bot via an Invoke activity. The Bot can respond synchronously and return an updated Adaptive Card to be displayed by the client. Action.Execute works in all Adaptive Card hosts.
 */
declare class ExecuteAction implements IExecuteAction {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Action.Execute**.
     */
    readonly type = "Action.Execute";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The title of the action, as it appears on buttons.
     */
    title?: string;
    /**
     * A URL (or Base64-encoded Data URI) to a PNG, GIF, JPEG or SVG image to be displayed on the left of the action's title.
     *
     * `iconUrl` also accepts the `<icon-name>[,regular|filled]` format to display an icon from the vast [Adaptive Card icon catalog](https://adaptivecards.microsoft.com/?topic=icon-catalog) instead of an image.
     */
    iconUrl?: string;
    /**
     * Control the style of the action, affecting its visual and spoken representations.
     */
    style?: ActionStyle;
    /**
     * Controls if the action is primary or secondary. Secondary actions appear in an overflow menu.
     */
    mode?: ActionMode;
    /**
     * The tooltip text to display when the action is hovered over.
     */
    tooltip?: string;
    /**
     * Controls the enabled state of the action. A disabled action cannot be clicked. If the action is represented as a button, the button's style will reflect this state.
     */
    isEnabled?: boolean;
    /**
     * The actions to display in the overflow menu of a Split action button.
     */
    menuActions?: MenuActionArray;
    /**
     * A set of theme-specific icon URLs.
     */
    themedIconUrls?: IThemedUrl[];
    /**
     * The data to send to the Bot when the action is executed. When expressed as an object, `data` is sent back to the Bot when the action is executed, adorned with the values of the inputs expressed as key/value pairs, where the key is the Id of the input. If `data` is expressed as a string, input values are not sent to the Bot.
     */
    data?: string | ISubmitActionData;
    /**
     * The Ids of the inputs associated with the Action.Submit. When the action is executed, the values of the associated inputs are sent to the Bot. See [Input validation](https://adaptivecards.microsoft.com/?topic=input-validation) for more details.
     */
    associatedInputs?: AssociatedInputs;
    /**
     * Controls if the action is enabled only if at least one required input has been filled by the user.
     */
    conditionallyEnabled?: boolean;
    /**
     * The verb of the action.
     */
    verb?: string;
    /**
     * An alternate action to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackAction;
    constructor(options?: ExecuteActionOptions);
    static from(options: Omit<IExecuteAction, 'type'>): ExecuteAction;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withTitle(title: string): this;
    withIconUrl(iconUrl: string): this;
    withStyle(style: ActionStyle): this;
    withMode(mode: ActionMode): this;
    withTooltip(tooltip: string): this;
    withIsEnabled(isEnabled?: boolean): this;
    withMenuActions(...menuActions: MenuActionArray): this;
    withThemedIconUrls(...themedIconUrls: IThemedUrl[]): this;
    withData(data: string | ISubmitActionData): this;
    withAssociatedInputs(associatedInputs: AssociatedInputs): this;
    withConditionallyEnabled(conditionallyEnabled?: boolean): this;
    withVerb(verb: string): this;
    withFallback(fallback: FallbackAction): this;
}
/**
 * Inserts an image into the host application's canvas.
 */
interface IInsertImageAction {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Action.InsertImage**.
     */
    readonly type: 'Action.InsertImage';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The title of the action, as it appears on buttons.
     */
    title?: string;
    /**
     * A URL (or Base64-encoded Data URI) to a PNG, GIF, JPEG or SVG image to be displayed on the left of the action's title.
     *
     * `iconUrl` also accepts the `<icon-name>[,regular|filled]` format to display an icon from the vast [Adaptive Card icon catalog](https://adaptivecards.microsoft.com/?topic=icon-catalog) instead of an image.
     */
    iconUrl?: string;
    /**
     * Control the style of the action, affecting its visual and spoken representations.
     */
    style?: ActionStyle;
    /**
     * Controls if the action is primary or secondary. Secondary actions appear in an overflow menu.
     */
    mode?: ActionMode;
    /**
     * The tooltip text to display when the action is hovered over.
     */
    tooltip?: string;
    /**
     * Controls the enabled state of the action. A disabled action cannot be clicked. If the action is represented as a button, the button's style will reflect this state.
     */
    isEnabled?: boolean;
    /**
     * The actions to display in the overflow menu of a Split action button.
     */
    menuActions?: MenuActionArray;
    /**
     * A set of theme-specific icon URLs.
     */
    themedIconUrls?: IThemedUrl[];
    /**
     * The URL of the image to insert.
     */
    url?: string;
    /**
     * The alternate text for the image.
     */
    altText?: string;
    /**
     * The position at which to insert the image.
     */
    insertPosition?: ImageInsertPosition;
    /**
     * An alternate action to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackAction;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IInsertImageAction.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of InsertImageAction, false otherwise.
 */
declare function isInsertImageAction(value: unknown): value is IInsertImageAction;
type InsertImageActionOptions = Partial<Omit<IInsertImageAction, 'type'>>;
/**
 * Inserts an image into the host application's canvas.
 */
declare class InsertImageAction implements IInsertImageAction {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Action.InsertImage**.
     */
    readonly type = "Action.InsertImage";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The title of the action, as it appears on buttons.
     */
    title?: string;
    /**
     * A URL (or Base64-encoded Data URI) to a PNG, GIF, JPEG or SVG image to be displayed on the left of the action's title.
     *
     * `iconUrl` also accepts the `<icon-name>[,regular|filled]` format to display an icon from the vast [Adaptive Card icon catalog](https://adaptivecards.microsoft.com/?topic=icon-catalog) instead of an image.
     */
    iconUrl?: string;
    /**
     * Control the style of the action, affecting its visual and spoken representations.
     */
    style?: ActionStyle;
    /**
     * Controls if the action is primary or secondary. Secondary actions appear in an overflow menu.
     */
    mode?: ActionMode;
    /**
     * The tooltip text to display when the action is hovered over.
     */
    tooltip?: string;
    /**
     * Controls the enabled state of the action. A disabled action cannot be clicked. If the action is represented as a button, the button's style will reflect this state.
     */
    isEnabled?: boolean;
    /**
     * The actions to display in the overflow menu of a Split action button.
     */
    menuActions?: MenuActionArray;
    /**
     * A set of theme-specific icon URLs.
     */
    themedIconUrls?: IThemedUrl[];
    /**
     * The URL of the image to insert.
     */
    url?: string;
    /**
     * The alternate text for the image.
     */
    altText?: string;
    /**
     * The position at which to insert the image.
     */
    insertPosition?: ImageInsertPosition;
    /**
     * An alternate action to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackAction;
    constructor(options?: InsertImageActionOptions);
    static from(options: Omit<IInsertImageAction, 'type'>): InsertImageAction;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withTitle(title: string): this;
    withIconUrl(iconUrl: string): this;
    withStyle(style: ActionStyle): this;
    withMode(mode: ActionMode): this;
    withTooltip(tooltip: string): this;
    withIsEnabled(isEnabled?: boolean): this;
    withMenuActions(...menuActions: MenuActionArray): this;
    withThemedIconUrls(...themedIconUrls: IThemedUrl[]): this;
    withUrl(url: string): this;
    withAltText(altText: string): this;
    withInsertPosition(insertPosition: ImageInsertPosition): this;
    withFallback(fallback: FallbackAction): this;
}
/**
 * Opens the provided URL in either a separate browser tab or within the host application.
 */
interface IOpenUrlAction {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Action.OpenUrl**.
     */
    readonly type: 'Action.OpenUrl';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The title of the action, as it appears on buttons.
     */
    title?: string;
    /**
     * A URL (or Base64-encoded Data URI) to a PNG, GIF, JPEG or SVG image to be displayed on the left of the action's title.
     *
     * `iconUrl` also accepts the `<icon-name>[,regular|filled]` format to display an icon from the vast [Adaptive Card icon catalog](https://adaptivecards.microsoft.com/?topic=icon-catalog) instead of an image.
     */
    iconUrl?: string;
    /**
     * Control the style of the action, affecting its visual and spoken representations.
     */
    style?: ActionStyle;
    /**
     * Controls if the action is primary or secondary. Secondary actions appear in an overflow menu.
     */
    mode?: ActionMode;
    /**
     * The tooltip text to display when the action is hovered over.
     */
    tooltip?: string;
    /**
     * Controls the enabled state of the action. A disabled action cannot be clicked. If the action is represented as a button, the button's style will reflect this state.
     */
    isEnabled?: boolean;
    /**
     * The actions to display in the overflow menu of a Split action button.
     */
    menuActions?: MenuActionArray;
    /**
     * A set of theme-specific icon URLs.
     */
    themedIconUrls?: IThemedUrl[];
    /**
     * The URL to open.
     */
    url: string;
    /**
     * An alternate action to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackAction;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IOpenUrlAction.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of OpenUrlAction, false otherwise.
 */
declare function isOpenUrlAction(value: unknown): value is IOpenUrlAction;
type OpenUrlActionOptions = Partial<Omit<IOpenUrlAction, 'type' | 'url'>>;
/**
 * Opens the provided URL in either a separate browser tab or within the host application.
 */
declare class OpenUrlAction implements IOpenUrlAction {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Action.OpenUrl**.
     */
    readonly type = "Action.OpenUrl";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The title of the action, as it appears on buttons.
     */
    title?: string;
    /**
     * A URL (or Base64-encoded Data URI) to a PNG, GIF, JPEG or SVG image to be displayed on the left of the action's title.
     *
     * `iconUrl` also accepts the `<icon-name>[,regular|filled]` format to display an icon from the vast [Adaptive Card icon catalog](https://adaptivecards.microsoft.com/?topic=icon-catalog) instead of an image.
     */
    iconUrl?: string;
    /**
     * Control the style of the action, affecting its visual and spoken representations.
     */
    style?: ActionStyle;
    /**
     * Controls if the action is primary or secondary. Secondary actions appear in an overflow menu.
     */
    mode?: ActionMode;
    /**
     * The tooltip text to display when the action is hovered over.
     */
    tooltip?: string;
    /**
     * Controls the enabled state of the action. A disabled action cannot be clicked. If the action is represented as a button, the button's style will reflect this state.
     */
    isEnabled?: boolean;
    /**
     * The actions to display in the overflow menu of a Split action button.
     */
    menuActions?: MenuActionArray;
    /**
     * A set of theme-specific icon URLs.
     */
    themedIconUrls?: IThemedUrl[];
    /**
     * The URL to open.
     */
    url: string;
    /**
     * An alternate action to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackAction;
    constructor(url: string, options?: OpenUrlActionOptions);
    static from(options: Omit<IOpenUrlAction, 'type'>): OpenUrlAction;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withTitle(title: string): this;
    withIconUrl(iconUrl: string): this;
    withStyle(style: ActionStyle): this;
    withMode(mode: ActionMode): this;
    withTooltip(tooltip: string): this;
    withIsEnabled(isEnabled?: boolean): this;
    withMenuActions(...menuActions: MenuActionArray): this;
    withThemedIconUrls(...themedIconUrls: IThemedUrl[]): this;
    withUrl(url: string): this;
    withFallback(fallback: FallbackAction): this;
}
/**
 * Opens a task module in a modal dialog hosting the content at a provided URL.
 */
interface IOpenUrlDialogAction {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Action.OpenUrlDialog**.
     */
    readonly type: 'Action.OpenUrlDialog';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The title of the action, as it appears on buttons.
     */
    title?: string;
    /**
     * A URL (or Base64-encoded Data URI) to a PNG, GIF, JPEG or SVG image to be displayed on the left of the action's title.
     *
     * `iconUrl` also accepts the `<icon-name>[,regular|filled]` format to display an icon from the vast [Adaptive Card icon catalog](https://adaptivecards.microsoft.com/?topic=icon-catalog) instead of an image.
     */
    iconUrl?: string;
    /**
     * Control the style of the action, affecting its visual and spoken representations.
     */
    style?: ActionStyle;
    /**
     * Controls if the action is primary or secondary. Secondary actions appear in an overflow menu.
     */
    mode?: ActionMode;
    /**
     * The tooltip text to display when the action is hovered over.
     */
    tooltip?: string;
    /**
     * Controls the enabled state of the action. A disabled action cannot be clicked. If the action is represented as a button, the button's style will reflect this state.
     */
    isEnabled?: boolean;
    /**
     * The actions to display in the overflow menu of a Split action button.
     */
    menuActions?: MenuActionArray;
    /**
     * A set of theme-specific icon URLs.
     */
    themedIconUrls?: IThemedUrl[];
    /**
     * The title of the dialog to be displayed in the dialog header.
     */
    dialogTitle?: string;
    /**
     * The height of the dialog. To define height as a number of pixels, use the <number>px format.
     */
    dialogHeight?: 'small' | 'medium' | 'large' | string;
    /**
     * The width of the dialog. To define width as a number of pixels, use the <number>px format.
     */
    dialogWidth?: 'small' | 'medium' | 'large' | string;
    /**
     * The URL to open.
     */
    url?: string;
    /**
     * An alternate action to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackAction;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IOpenUrlDialogAction.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of OpenUrlDialogAction, false otherwise.
 */
declare function isOpenUrlDialogAction(value: unknown): value is IOpenUrlDialogAction;
type OpenUrlDialogActionOptions = Partial<Omit<IOpenUrlDialogAction, 'type'>>;
/**
 * Opens a task module in a modal dialog hosting the content at a provided URL.
 */
declare class OpenUrlDialogAction implements IOpenUrlDialogAction {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Action.OpenUrlDialog**.
     */
    readonly type = "Action.OpenUrlDialog";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The title of the action, as it appears on buttons.
     */
    title?: string;
    /**
     * A URL (or Base64-encoded Data URI) to a PNG, GIF, JPEG or SVG image to be displayed on the left of the action's title.
     *
     * `iconUrl` also accepts the `<icon-name>[,regular|filled]` format to display an icon from the vast [Adaptive Card icon catalog](https://adaptivecards.microsoft.com/?topic=icon-catalog) instead of an image.
     */
    iconUrl?: string;
    /**
     * Control the style of the action, affecting its visual and spoken representations.
     */
    style?: ActionStyle;
    /**
     * Controls if the action is primary or secondary. Secondary actions appear in an overflow menu.
     */
    mode?: ActionMode;
    /**
     * The tooltip text to display when the action is hovered over.
     */
    tooltip?: string;
    /**
     * Controls the enabled state of the action. A disabled action cannot be clicked. If the action is represented as a button, the button's style will reflect this state.
     */
    isEnabled?: boolean;
    /**
     * The actions to display in the overflow menu of a Split action button.
     */
    menuActions?: MenuActionArray;
    /**
     * A set of theme-specific icon URLs.
     */
    themedIconUrls?: IThemedUrl[];
    /**
     * The title of the dialog to be displayed in the dialog header.
     */
    dialogTitle?: string;
    /**
     * The height of the dialog. To define height as a number of pixels, use the <number>px format.
     */
    dialogHeight?: 'small' | 'medium' | 'large' | string;
    /**
     * The width of the dialog. To define width as a number of pixels, use the <number>px format.
     */
    dialogWidth?: 'small' | 'medium' | 'large' | string;
    /**
     * The URL to open.
     */
    url?: string;
    /**
     * An alternate action to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackAction;
    constructor(options?: OpenUrlDialogActionOptions);
    static from(options: Omit<IOpenUrlDialogAction, 'type'>): OpenUrlDialogAction;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withTitle(title: string): this;
    withIconUrl(iconUrl: string): this;
    withStyle(style: ActionStyle): this;
    withMode(mode: ActionMode): this;
    withTooltip(tooltip: string): this;
    withIsEnabled(isEnabled?: boolean): this;
    withMenuActions(...menuActions: MenuActionArray): this;
    withThemedIconUrls(...themedIconUrls: IThemedUrl[]): this;
    withDialogTitle(dialogTitle: string): this;
    withDialogHeight(dialogHeight: 'small' | 'medium' | 'large' | string): this;
    withDialogWidth(dialogWidth: 'small' | 'medium' | 'large' | string): this;
    withUrl(url: string): this;
    withFallback(fallback: FallbackAction): this;
}
/**
 * Resets the values of the inputs in the card.
 */
interface IResetInputsAction {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Action.ResetInputs**.
     */
    readonly type: 'Action.ResetInputs';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The title of the action, as it appears on buttons.
     */
    title?: string;
    /**
     * A URL (or Base64-encoded Data URI) to a PNG, GIF, JPEG or SVG image to be displayed on the left of the action's title.
     *
     * `iconUrl` also accepts the `<icon-name>[,regular|filled]` format to display an icon from the vast [Adaptive Card icon catalog](https://adaptivecards.microsoft.com/?topic=icon-catalog) instead of an image.
     */
    iconUrl?: string;
    /**
     * Control the style of the action, affecting its visual and spoken representations.
     */
    style?: ActionStyle;
    /**
     * Controls if the action is primary or secondary. Secondary actions appear in an overflow menu.
     */
    mode?: ActionMode;
    /**
     * The tooltip text to display when the action is hovered over.
     */
    tooltip?: string;
    /**
     * Controls the enabled state of the action. A disabled action cannot be clicked. If the action is represented as a button, the button's style will reflect this state.
     */
    isEnabled?: boolean;
    /**
     * The actions to display in the overflow menu of a Split action button.
     */
    menuActions?: MenuActionArray;
    /**
     * A set of theme-specific icon URLs.
     */
    themedIconUrls?: IThemedUrl[];
    /**
     * The Ids of the inputs that should be reset.
     */
    targetInputIds?: string[];
    /**
     * An alternate action to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackAction;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IResetInputsAction.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of ResetInputsAction, false otherwise.
 */
declare function isResetInputsAction(value: unknown): value is IResetInputsAction;
type ResetInputsActionOptions = Partial<Omit<IResetInputsAction, 'type'>>;
/**
 * Resets the values of the inputs in the card.
 */
declare class ResetInputsAction implements IResetInputsAction {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Action.ResetInputs**.
     */
    readonly type = "Action.ResetInputs";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The title of the action, as it appears on buttons.
     */
    title?: string;
    /**
     * A URL (or Base64-encoded Data URI) to a PNG, GIF, JPEG or SVG image to be displayed on the left of the action's title.
     *
     * `iconUrl` also accepts the `<icon-name>[,regular|filled]` format to display an icon from the vast [Adaptive Card icon catalog](https://adaptivecards.microsoft.com/?topic=icon-catalog) instead of an image.
     */
    iconUrl?: string;
    /**
     * Control the style of the action, affecting its visual and spoken representations.
     */
    style?: ActionStyle;
    /**
     * Controls if the action is primary or secondary. Secondary actions appear in an overflow menu.
     */
    mode?: ActionMode;
    /**
     * The tooltip text to display when the action is hovered over.
     */
    tooltip?: string;
    /**
     * Controls the enabled state of the action. A disabled action cannot be clicked. If the action is represented as a button, the button's style will reflect this state.
     */
    isEnabled?: boolean;
    /**
     * The actions to display in the overflow menu of a Split action button.
     */
    menuActions?: MenuActionArray;
    /**
     * A set of theme-specific icon URLs.
     */
    themedIconUrls?: IThemedUrl[];
    /**
     * The Ids of the inputs that should be reset.
     */
    targetInputIds?: string[];
    /**
     * An alternate action to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackAction;
    constructor(options?: ResetInputsActionOptions);
    static from(options: Omit<IResetInputsAction, 'type'>): ResetInputsAction;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withTitle(title: string): this;
    withIconUrl(iconUrl: string): this;
    withStyle(style: ActionStyle): this;
    withMode(mode: ActionMode): this;
    withTooltip(tooltip: string): this;
    withIsEnabled(isEnabled?: boolean): this;
    withMenuActions(...menuActions: MenuActionArray): this;
    withThemedIconUrls(...themedIconUrls: IThemedUrl[]): this;
    withTargetInputIds(...targetInputIds: string[]): this;
    withFallback(fallback: FallbackAction): this;
}
/**
 * Gathers input values, merges them with the data property if specified, and sends them to the Bot via an Invoke activity. The Bot can only acknowledge is has received the request.
 */
interface ISubmitAction {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Action.Submit**.
     */
    readonly type: 'Action.Submit';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The title of the action, as it appears on buttons.
     */
    title?: string;
    /**
     * A URL (or Base64-encoded Data URI) to a PNG, GIF, JPEG or SVG image to be displayed on the left of the action's title.
     *
     * `iconUrl` also accepts the `<icon-name>[,regular|filled]` format to display an icon from the vast [Adaptive Card icon catalog](https://adaptivecards.microsoft.com/?topic=icon-catalog) instead of an image.
     */
    iconUrl?: string;
    /**
     * Control the style of the action, affecting its visual and spoken representations.
     */
    style?: ActionStyle;
    /**
     * Controls if the action is primary or secondary. Secondary actions appear in an overflow menu.
     */
    mode?: ActionMode;
    /**
     * The tooltip text to display when the action is hovered over.
     */
    tooltip?: string;
    /**
     * Controls the enabled state of the action. A disabled action cannot be clicked. If the action is represented as a button, the button's style will reflect this state.
     */
    isEnabled?: boolean;
    /**
     * The actions to display in the overflow menu of a Split action button.
     */
    menuActions?: MenuActionArray;
    /**
     * A set of theme-specific icon URLs.
     */
    themedIconUrls?: IThemedUrl[];
    /**
     * The data to send to the Bot when the action is executed. When expressed as an object, `data` is sent back to the Bot when the action is executed, adorned with the values of the inputs expressed as key/value pairs, where the key is the Id of the input. If `data` is expressed as a string, input values are not sent to the Bot.
     */
    data?: string | ISubmitActionData;
    /**
     * The Ids of the inputs associated with the Action.Submit. When the action is executed, the values of the associated inputs are sent to the Bot. See [Input validation](https://adaptivecards.microsoft.com/?topic=input-validation) for more details.
     */
    associatedInputs?: AssociatedInputs;
    /**
     * Controls if the action is enabled only if at least one required input has been filled by the user.
     */
    conditionallyEnabled?: boolean;
    /**
     * Teams-specific metadata associated with the action.
     */
    msteams?: ITeamsSubmitActionProperties;
    /**
     * An alternate action to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackAction;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type ISubmitAction.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of SubmitAction, false otherwise.
 */
declare function isSubmitAction(value: unknown): value is ISubmitAction;
type SubmitActionOptions = Partial<Omit<ISubmitAction, 'type'>>;
/**
 * Gathers input values, merges them with the data property if specified, and sends them to the Bot via an Invoke activity. The Bot can only acknowledge is has received the request.
 */
declare class SubmitAction implements ISubmitAction {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Action.Submit**.
     */
    readonly type = "Action.Submit";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The title of the action, as it appears on buttons.
     */
    title?: string;
    /**
     * A URL (or Base64-encoded Data URI) to a PNG, GIF, JPEG or SVG image to be displayed on the left of the action's title.
     *
     * `iconUrl` also accepts the `<icon-name>[,regular|filled]` format to display an icon from the vast [Adaptive Card icon catalog](https://adaptivecards.microsoft.com/?topic=icon-catalog) instead of an image.
     */
    iconUrl?: string;
    /**
     * Control the style of the action, affecting its visual and spoken representations.
     */
    style?: ActionStyle;
    /**
     * Controls if the action is primary or secondary. Secondary actions appear in an overflow menu.
     */
    mode?: ActionMode;
    /**
     * The tooltip text to display when the action is hovered over.
     */
    tooltip?: string;
    /**
     * Controls the enabled state of the action. A disabled action cannot be clicked. If the action is represented as a button, the button's style will reflect this state.
     */
    isEnabled?: boolean;
    /**
     * The actions to display in the overflow menu of a Split action button.
     */
    menuActions?: MenuActionArray;
    /**
     * A set of theme-specific icon URLs.
     */
    themedIconUrls?: IThemedUrl[];
    /**
     * The data to send to the Bot when the action is executed. When expressed as an object, `data` is sent back to the Bot when the action is executed, adorned with the values of the inputs expressed as key/value pairs, where the key is the Id of the input. If `data` is expressed as a string, input values are not sent to the Bot.
     */
    data?: string | ISubmitActionData;
    /**
     * The Ids of the inputs associated with the Action.Submit. When the action is executed, the values of the associated inputs are sent to the Bot. See [Input validation](https://adaptivecards.microsoft.com/?topic=input-validation) for more details.
     */
    associatedInputs?: AssociatedInputs;
    /**
     * Controls if the action is enabled only if at least one required input has been filled by the user.
     */
    conditionallyEnabled?: boolean;
    /**
     * Teams-specific metadata associated with the action.
     */
    msteams?: ITeamsSubmitActionProperties;
    /**
     * An alternate action to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackAction;
    constructor(options?: SubmitActionOptions);
    static from(options: Omit<ISubmitAction, 'type'>): SubmitAction;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withTitle(title: string): this;
    withIconUrl(iconUrl: string): this;
    withStyle(style: ActionStyle): this;
    withMode(mode: ActionMode): this;
    withTooltip(tooltip: string): this;
    withIsEnabled(isEnabled?: boolean): this;
    withMenuActions(...menuActions: MenuActionArray): this;
    withThemedIconUrls(...themedIconUrls: IThemedUrl[]): this;
    withData(data: string | ISubmitActionData): this;
    withAssociatedInputs(associatedInputs: AssociatedInputs): this;
    withConditionallyEnabled(conditionallyEnabled?: boolean): this;
    withMsteams(msteams: ITeamsSubmitActionProperties): this;
    withFallback(fallback: FallbackAction): this;
}
/**
 * Toggles the visibility of a set of elements. Action.ToggleVisibility is useful for creating "Show more" type UI patterns.
 */
interface IToggleVisibilityAction {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Action.ToggleVisibility**.
     */
    readonly type: 'Action.ToggleVisibility';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The title of the action, as it appears on buttons.
     */
    title?: string;
    /**
     * A URL (or Base64-encoded Data URI) to a PNG, GIF, JPEG or SVG image to be displayed on the left of the action's title.
     *
     * `iconUrl` also accepts the `<icon-name>[,regular|filled]` format to display an icon from the vast [Adaptive Card icon catalog](https://adaptivecards.microsoft.com/?topic=icon-catalog) instead of an image.
     */
    iconUrl?: string;
    /**
     * Control the style of the action, affecting its visual and spoken representations.
     */
    style?: ActionStyle;
    /**
     * Controls if the action is primary or secondary. Secondary actions appear in an overflow menu.
     */
    mode?: ActionMode;
    /**
     * The tooltip text to display when the action is hovered over.
     */
    tooltip?: string;
    /**
     * Controls the enabled state of the action. A disabled action cannot be clicked. If the action is represented as a button, the button's style will reflect this state.
     */
    isEnabled?: boolean;
    /**
     * The actions to display in the overflow menu of a Split action button.
     */
    menuActions?: MenuActionArray;
    /**
     * A set of theme-specific icon URLs.
     */
    themedIconUrls?: IThemedUrl[];
    /**
     * The Ids of the elements to toggle the visibility of.
     */
    targetElements?: (string | ITargetElement)[];
    /**
     * An alternate action to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackAction;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IToggleVisibilityAction.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of ToggleVisibilityAction, false otherwise.
 */
declare function isToggleVisibilityAction(value: unknown): value is IToggleVisibilityAction;
type ToggleVisibilityActionOptions = Partial<Omit<IToggleVisibilityAction, 'type'>>;
/**
 * Toggles the visibility of a set of elements. Action.ToggleVisibility is useful for creating "Show more" type UI patterns.
 */
declare class ToggleVisibilityAction implements IToggleVisibilityAction {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Action.ToggleVisibility**.
     */
    readonly type = "Action.ToggleVisibility";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The title of the action, as it appears on buttons.
     */
    title?: string;
    /**
     * A URL (or Base64-encoded Data URI) to a PNG, GIF, JPEG or SVG image to be displayed on the left of the action's title.
     *
     * `iconUrl` also accepts the `<icon-name>[,regular|filled]` format to display an icon from the vast [Adaptive Card icon catalog](https://adaptivecards.microsoft.com/?topic=icon-catalog) instead of an image.
     */
    iconUrl?: string;
    /**
     * Control the style of the action, affecting its visual and spoken representations.
     */
    style?: ActionStyle;
    /**
     * Controls if the action is primary or secondary. Secondary actions appear in an overflow menu.
     */
    mode?: ActionMode;
    /**
     * The tooltip text to display when the action is hovered over.
     */
    tooltip?: string;
    /**
     * Controls the enabled state of the action. A disabled action cannot be clicked. If the action is represented as a button, the button's style will reflect this state.
     */
    isEnabled?: boolean;
    /**
     * The actions to display in the overflow menu of a Split action button.
     */
    menuActions?: MenuActionArray;
    /**
     * A set of theme-specific icon URLs.
     */
    themedIconUrls?: IThemedUrl[];
    /**
     * The Ids of the elements to toggle the visibility of.
     */
    targetElements?: (string | ITargetElement)[];
    /**
     * An alternate action to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackAction;
    constructor(options?: ToggleVisibilityActionOptions);
    static from(options: Omit<IToggleVisibilityAction, 'type'>): ToggleVisibilityAction;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withTitle(title: string): this;
    withIconUrl(iconUrl: string): this;
    withStyle(style: ActionStyle): this;
    withMode(mode: ActionMode): this;
    withTooltip(tooltip: string): this;
    withIsEnabled(isEnabled?: boolean): this;
    withMenuActions(...menuActions: MenuActionArray): this;
    withThemedIconUrls(...themedIconUrls: IThemedUrl[]): this;
    withTargetElements(...targetElements: (string | ITargetElement)[]): this;
    withFallback(fallback: FallbackAction): this;
}
/**
 * Defines a theme-specific URL.
 */
interface IThemedUrl {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The theme this URL applies to.
     */
    theme?: ThemeName;
    /**
     * The URL to use for the associated theme.
     */
    url?: string;
}
type ThemedUrlOptions = Partial<IThemedUrl>;
/**
 * Defines a theme-specific URL.
 */
declare class ThemedUrl implements IThemedUrl {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The theme this URL applies to.
     */
    theme?: ThemeName;
    /**
     * The URL to use for the associated theme.
     */
    url?: string;
    constructor(options?: ThemedUrlOptions);
    static from(options: IThemedUrl): ThemedUrl;
    withKey(key: string): this;
    withTheme(theme: ThemeName): this;
    withUrl(url: string): this;
}
/**
 * Defines a target element in an Action.ToggleVisibility.
 */
interface ITargetElement {
    /**
     * The Id of the element to change the visibility of.
     */
    elementId?: string;
    /**
     * The new visibility state of the element.
     */
    isVisible?: boolean;
}
type TargetElementOptions = Partial<ITargetElement>;
/**
 * Defines a target element in an Action.ToggleVisibility.
 */
declare class TargetElement implements ITargetElement {
    /**
     * The Id of the element to change the visibility of.
     */
    elementId?: string;
    /**
     * The new visibility state of the element.
     */
    isVisible?: boolean;
    constructor(options?: TargetElementOptions);
    static from(options: ITargetElement): TargetElement;
    withElementId(elementId: string): this;
    withIsVisible(isVisible: boolean): this;
}
/**
 * Expands or collapses an embedded card within the main card.
 */
interface IShowCardAction {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Action.ShowCard**.
     */
    readonly type: 'Action.ShowCard';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The title of the action, as it appears on buttons.
     */
    title?: string;
    /**
     * A URL (or Base64-encoded Data URI) to a PNG, GIF, JPEG or SVG image to be displayed on the left of the action's title.
     *
     * `iconUrl` also accepts the `<icon-name>[,regular|filled]` format to display an icon from the vast [Adaptive Card icon catalog](https://adaptivecards.microsoft.com/?topic=icon-catalog) instead of an image.
     */
    iconUrl?: string;
    /**
     * Control the style of the action, affecting its visual and spoken representations.
     */
    style?: ActionStyle;
    /**
     * Controls if the action is primary or secondary. Secondary actions appear in an overflow menu.
     */
    mode?: ActionMode;
    /**
     * The tooltip text to display when the action is hovered over.
     */
    tooltip?: string;
    /**
     * Controls the enabled state of the action. A disabled action cannot be clicked. If the action is represented as a button, the button's style will reflect this state.
     */
    isEnabled?: boolean;
    /**
     * The actions to display in the overflow menu of a Split action button.
     */
    menuActions?: MenuActionArray;
    /**
     * A set of theme-specific icon URLs.
     */
    themedIconUrls?: IThemedUrl[];
    /**
     * An alternate action to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackAction;
    /**
     * The card that should be displayed when the action is executed.
     */
    card?: IAdaptiveCard;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IShowCardAction.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of ShowCardAction, false otherwise.
 */
declare function isShowCardAction(value: unknown): value is IShowCardAction;
type ShowCardActionOptions = Partial<Omit<IShowCardAction, 'type'>>;
/**
 * Expands or collapses an embedded card within the main card.
 */
declare class ShowCardAction implements IShowCardAction {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Action.ShowCard**.
     */
    readonly type = "Action.ShowCard";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The title of the action, as it appears on buttons.
     */
    title?: string;
    /**
     * A URL (or Base64-encoded Data URI) to a PNG, GIF, JPEG or SVG image to be displayed on the left of the action's title.
     *
     * `iconUrl` also accepts the `<icon-name>[,regular|filled]` format to display an icon from the vast [Adaptive Card icon catalog](https://adaptivecards.microsoft.com/?topic=icon-catalog) instead of an image.
     */
    iconUrl?: string;
    /**
     * Control the style of the action, affecting its visual and spoken representations.
     */
    style?: ActionStyle;
    /**
     * Controls if the action is primary or secondary. Secondary actions appear in an overflow menu.
     */
    mode?: ActionMode;
    /**
     * The tooltip text to display when the action is hovered over.
     */
    tooltip?: string;
    /**
     * Controls the enabled state of the action. A disabled action cannot be clicked. If the action is represented as a button, the button's style will reflect this state.
     */
    isEnabled?: boolean;
    /**
     * The actions to display in the overflow menu of a Split action button.
     */
    menuActions?: MenuActionArray;
    /**
     * A set of theme-specific icon URLs.
     */
    themedIconUrls?: IThemedUrl[];
    /**
     * An alternate action to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackAction;
    /**
     * The card that should be displayed when the action is executed.
     */
    card?: IAdaptiveCard;
    constructor(options?: ShowCardActionOptions);
    static from(options: Omit<IShowCardAction, 'type'>): ShowCardAction;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withTitle(title: string): this;
    withIconUrl(iconUrl: string): this;
    withStyle(style: ActionStyle): this;
    withMode(mode: ActionMode): this;
    withTooltip(tooltip: string): this;
    withIsEnabled(isEnabled?: boolean): this;
    withMenuActions(...menuActions: MenuActionArray): this;
    withThemedIconUrls(...themedIconUrls: IThemedUrl[]): this;
    withFallback(fallback: FallbackAction): this;
    withCard(card: IAdaptiveCard): this;
}
/**
 * Shows a popover to display more information to the user.
 */
interface IPopoverAction {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Action.Popover**.
     */
    readonly type: 'Action.Popover';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The title of the action, as it appears on buttons.
     */
    title?: string;
    /**
     * A URL (or Base64-encoded Data URI) to a PNG, GIF, JPEG or SVG image to be displayed on the left of the action's title.
     *
     * `iconUrl` also accepts the `<icon-name>[,regular|filled]` format to display an icon from the vast [Adaptive Card icon catalog](https://adaptivecards.microsoft.com/?topic=icon-catalog) instead of an image.
     */
    iconUrl?: string;
    /**
     * Control the style of the action, affecting its visual and spoken representations.
     */
    style?: ActionStyle;
    /**
     * Controls if the action is primary or secondary. Secondary actions appear in an overflow menu.
     */
    mode?: ActionMode;
    /**
     * The tooltip text to display when the action is hovered over.
     */
    tooltip?: string;
    /**
     * Controls the enabled state of the action. A disabled action cannot be clicked. If the action is represented as a button, the button's style will reflect this state.
     */
    isEnabled?: boolean;
    /**
     * A set of theme-specific icon URLs.
     */
    themedIconUrls?: IThemedUrl[];
    /**
     * The content of the popover, which can be any element.
     */
    content?: IActionSet | IBadge | ICarousel | IDonutChart | IGaugeChart | IHorizontalBarChart | IStackedHorizontalBarChart | ILineChart | IPieChart | IVerticalBarChart | IGroupedVerticalBarChart | ICodeBlock | IColumnSet | IComEventMicrosoftGraphComponent | IComFileMicrosoftGraphComponent | IComResourceMicrosoftGraphComponent | IComUserMicrosoftGraphComponent | IComUsersMicrosoftGraphComponent | ICompoundButton | IContainer | IFactSet | IIcon | IIconRun | IImage | IImageRun | IImageSet | IChoiceSetInput | IDateInput | INumberInput | IRatingInput | ITextInput | ITimeInput | IToggleInput | IMedia | IProgressBar | IProgressRing | IRating | IRichTextBlock | ITable | ITextBlock | ITextRun;
    /**
     * Controls if an arrow should be displayed towards the element that triggered the popover.
     */
    displayArrow?: boolean;
    /**
     * Controls where the popover should be displayed with regards to the element that triggered it.
     */
    position?: PopoverPosition;
    /**
     * The maximum width of the popover in pixels, in the `<number>px` format
     */
    maxPopoverWidth?: string;
    /**
     * An alternate action to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackAction;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IPopoverAction.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of PopoverAction, false otherwise.
 */
declare function isPopoverAction(value: unknown): value is IPopoverAction;
type PopoverActionOptions = Partial<Omit<IPopoverAction, 'type'>>;
/**
 * Shows a popover to display more information to the user.
 */
declare class PopoverAction implements IPopoverAction {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Action.Popover**.
     */
    readonly type = "Action.Popover";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The title of the action, as it appears on buttons.
     */
    title?: string;
    /**
     * A URL (or Base64-encoded Data URI) to a PNG, GIF, JPEG or SVG image to be displayed on the left of the action's title.
     *
     * `iconUrl` also accepts the `<icon-name>[,regular|filled]` format to display an icon from the vast [Adaptive Card icon catalog](https://adaptivecards.microsoft.com/?topic=icon-catalog) instead of an image.
     */
    iconUrl?: string;
    /**
     * Control the style of the action, affecting its visual and spoken representations.
     */
    style?: ActionStyle;
    /**
     * Controls if the action is primary or secondary. Secondary actions appear in an overflow menu.
     */
    mode?: ActionMode;
    /**
     * The tooltip text to display when the action is hovered over.
     */
    tooltip?: string;
    /**
     * Controls the enabled state of the action. A disabled action cannot be clicked. If the action is represented as a button, the button's style will reflect this state.
     */
    isEnabled?: boolean;
    /**
     * A set of theme-specific icon URLs.
     */
    themedIconUrls?: IThemedUrl[];
    /**
     * The content of the popover, which can be any element.
     */
    content?: IActionSet | IBadge | ICarousel | IDonutChart | IGaugeChart | IHorizontalBarChart | IStackedHorizontalBarChart | ILineChart | IPieChart | IVerticalBarChart | IGroupedVerticalBarChart | ICodeBlock | IColumnSet | IComEventMicrosoftGraphComponent | IComFileMicrosoftGraphComponent | IComResourceMicrosoftGraphComponent | IComUserMicrosoftGraphComponent | IComUsersMicrosoftGraphComponent | ICompoundButton | IContainer | IFactSet | IIcon | IIconRun | IImage | IImageRun | IImageSet | IChoiceSetInput | IDateInput | INumberInput | IRatingInput | ITextInput | ITimeInput | IToggleInput | IMedia | IProgressBar | IProgressRing | IRating | IRichTextBlock | ITable | ITextBlock | ITextRun;
    /**
     * Controls if an arrow should be displayed towards the element that triggered the popover.
     */
    displayArrow?: boolean;
    /**
     * Controls where the popover should be displayed with regards to the element that triggered it.
     */
    position?: PopoverPosition;
    /**
     * The maximum width of the popover in pixels, in the `<number>px` format
     */
    maxPopoverWidth?: string;
    /**
     * An alternate action to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackAction;
    constructor(options?: PopoverActionOptions);
    static from(options: Omit<IPopoverAction, 'type'>): PopoverAction;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withTitle(title: string): this;
    withIconUrl(iconUrl: string): this;
    withStyle(style: ActionStyle): this;
    withMode(mode: ActionMode): this;
    withTooltip(tooltip: string): this;
    withIsEnabled(isEnabled?: boolean): this;
    withThemedIconUrls(...themedIconUrls: IThemedUrl[]): this;
    withContent(content: IActionSet | IBadge | ICarousel | IDonutChart | IGaugeChart | IHorizontalBarChart | IStackedHorizontalBarChart | ILineChart | IPieChart | IVerticalBarChart | IGroupedVerticalBarChart | ICodeBlock | IColumnSet | IComEventMicrosoftGraphComponent | IComFileMicrosoftGraphComponent | IComResourceMicrosoftGraphComponent | IComUserMicrosoftGraphComponent | IComUsersMicrosoftGraphComponent | ICompoundButton | IContainer | IFactSet | IIcon | IIconRun | IImage | IImageRun | IImageSet | IChoiceSetInput | IDateInput | INumberInput | IRatingInput | ITextInput | ITimeInput | IToggleInput | IMedia | IProgressBar | IProgressRing | IRating | IRichTextBlock | ITable | ITextBlock | ITextRun): this;
    withDisplayArrow(displayArrow?: boolean): this;
    withPosition(position: PopoverPosition): this;
    withMaxPopoverWidth(maxPopoverWidth: string): this;
    withFallback(fallback: FallbackAction): this;
}
/**
 * Displays a set of action, which can be placed anywhere in the card.
 */
interface IActionSet {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **ActionSet**.
     */
    readonly type: 'ActionSet';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    /**
     * The actions in the set.
     */
    actions: ActionArray;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IActionSet.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of ActionSet, false otherwise.
 */
declare function isActionSet(value: unknown): value is IActionSet;
type ActionSetOptions = Partial<Omit<IActionSet, 'type' | 'actions'>>;
/**
 * Displays a set of action, which can be placed anywhere in the card.
 */
declare class ActionSet implements IActionSet {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **ActionSet**.
     */
    readonly type = "ActionSet";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    /**
     * The actions in the set.
     */
    actions: ActionArray;
    constructor(...actions: ActionArray);
    withOptions(value: ActionSetOptions): this;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withSeparator(separator?: boolean): this;
    withHeight(height: ElementHeight): this;
    withHorizontalAlignment(horizontalAlignment: HorizontalAlignment): this;
    withSpacing(spacing: Spacing): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withIsSortKey(isSortKey?: boolean): this;
    withFallback(fallback: FallbackElement): this;
    withActions(...actions: ActionArray): this;
}
/**
 * A container for other elements. Use containers for styling purposes and/or to logically group a set of elements together, which can be especially useful when used with Action.ToggleVisibility.
 */
interface IContainer {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Container**.
     */
    readonly type: 'Container';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * An Action that will be invoked when the element is tapped or clicked. Action.ShowCard is not supported.
     */
    selectAction?: IExecuteAction | IInsertImageAction | IOpenUrlAction | IOpenUrlDialogAction | IPopoverAction | IResetInputsAction | ISubmitAction | IToggleVisibilityAction;
    /**
     * The style of the container. Container styles control the colors of the background, border and text inside the container, in such a way that contrast requirements are always met.
     */
    style?: ContainerStyle;
    /**
     * Controls if a border should be displayed around the container.
     */
    showBorder?: boolean;
    /**
     * Controls if the container should have rounded corners.
     */
    roundedCorners?: boolean;
    /**
     * The layouts associated with the container. The container can dynamically switch from one layout to another as the card's width changes. See [Container layouts](https://adaptivecards.microsoft.com/?topic=container-layouts) for more details.
     */
    layouts?: (IStackLayout | IFlowLayout | IAreaGridLayout)[];
    /**
     * Controls if the container should bleed into its parent. A bleeding container extends into its parent's padding.
     */
    bleed?: boolean;
    /**
     * The minimum height, in pixels, of the container, in the `<number>px` format.
     */
    minHeight?: string;
    /**
     * Defines the container's background image.
     */
    backgroundImage?: string | IBackgroundImage;
    /**
     * Controls how the container's content should be vertically aligned.
     */
    verticalContentAlignment?: VerticalAlignment;
    /**
     * Controls if the content of the card is to be rendered left-to-right or right-to-left.
     */
    rtl?: boolean;
    /**
     * The maximum height, in pixels, of the container, in the `<number>px` format. When the content of a container exceeds the container's maximum height, a vertical scrollbar is displayed.
     */
    maxHeight?: string;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    /**
     * The elements in the container.
     */
    items: CardElementArray;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IContainer.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of Container, false otherwise.
 */
declare function isContainer(value: unknown): value is IContainer;
type ContainerOptions = Partial<Omit<IContainer, 'type' | 'items'>>;
/**
 * A container for other elements. Use containers for styling purposes and/or to logically group a set of elements together, which can be especially useful when used with Action.ToggleVisibility.
 */
declare class Container implements IContainer {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Container**.
     */
    readonly type = "Container";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * An Action that will be invoked when the element is tapped or clicked. Action.ShowCard is not supported.
     */
    selectAction?: IExecuteAction | IInsertImageAction | IOpenUrlAction | IOpenUrlDialogAction | IPopoverAction | IResetInputsAction | ISubmitAction | IToggleVisibilityAction;
    /**
     * The style of the container. Container styles control the colors of the background, border and text inside the container, in such a way that contrast requirements are always met.
     */
    style?: ContainerStyle;
    /**
     * Controls if a border should be displayed around the container.
     */
    showBorder?: boolean;
    /**
     * Controls if the container should have rounded corners.
     */
    roundedCorners?: boolean;
    /**
     * The layouts associated with the container. The container can dynamically switch from one layout to another as the card's width changes. See [Container layouts](https://adaptivecards.microsoft.com/?topic=container-layouts) for more details.
     */
    layouts?: (IStackLayout | IFlowLayout | IAreaGridLayout)[];
    /**
     * Controls if the container should bleed into its parent. A bleeding container extends into its parent's padding.
     */
    bleed?: boolean;
    /**
     * The minimum height, in pixels, of the container, in the `<number>px` format.
     */
    minHeight?: string;
    /**
     * Defines the container's background image.
     */
    backgroundImage?: string | IBackgroundImage;
    /**
     * Controls how the container's content should be vertically aligned.
     */
    verticalContentAlignment?: VerticalAlignment;
    /**
     * Controls if the content of the card is to be rendered left-to-right or right-to-left.
     */
    rtl?: boolean;
    /**
     * The maximum height, in pixels, of the container, in the `<number>px` format. When the content of a container exceeds the container's maximum height, a vertical scrollbar is displayed.
     */
    maxHeight?: string;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    /**
     * The elements in the container.
     */
    items: CardElementArray;
    constructor(...items: CardElementArray);
    withOptions(value: ContainerOptions): this;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withSeparator(separator?: boolean): this;
    withHeight(height: ElementHeight): this;
    withHorizontalAlignment(horizontalAlignment: HorizontalAlignment): this;
    withSpacing(spacing: Spacing): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withIsSortKey(isSortKey?: boolean): this;
    withSelectAction(selectAction: IExecuteAction | IInsertImageAction | IOpenUrlAction | IOpenUrlDialogAction | IPopoverAction | IResetInputsAction | ISubmitAction | IToggleVisibilityAction): this;
    withStyle(style: ContainerStyle): this;
    withShowBorder(showBorder?: boolean): this;
    withRoundedCorners(roundedCorners?: boolean): this;
    withLayouts(...layouts: (IStackLayout | IFlowLayout | IAreaGridLayout)[]): this;
    withBleed(bleed?: boolean): this;
    withMinHeight(minHeight: string): this;
    withBackgroundImage(backgroundImage: string | IBackgroundImage): this;
    withVerticalContentAlignment(verticalContentAlignment: VerticalAlignment): this;
    withRtl(rtl: boolean): this;
    withMaxHeight(maxHeight: string): this;
    withFallback(fallback: FallbackElement): this;
    withItems(...items: CardElementArray): this;
}
/**
 * A layout that stacks elements on top of each other. Layout.Stack is the default layout used by AdaptiveCard and all containers.
 */
interface IStackLayout {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Layout.Stack**.
     */
    readonly type: 'Layout.Stack';
    /**
     * Controls for which card width the layout should be used.
     */
    targetWidth?: TargetWidth;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IStackLayout.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of StackLayout, false otherwise.
 */
declare function isStackLayout(value: unknown): value is IStackLayout;
type StackLayoutOptions = Partial<Omit<IStackLayout, 'type'>>;
/**
 * A layout that stacks elements on top of each other. Layout.Stack is the default layout used by AdaptiveCard and all containers.
 */
declare class StackLayout implements IStackLayout {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Layout.Stack**.
     */
    readonly type = "Layout.Stack";
    /**
     * Controls for which card width the layout should be used.
     */
    targetWidth?: TargetWidth;
    constructor(options?: StackLayoutOptions);
    static from(options: Omit<IStackLayout, 'type'>): StackLayout;
    withKey(key: string): this;
    withTargetWidth(targetWidth: TargetWidth): this;
}
/**
 * A layout that spreads elements horizontally and wraps them across multiple rows, as needed.
 */
interface IFlowLayout {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Layout.Flow**.
     */
    readonly type: 'Layout.Flow';
    /**
     * Controls for which card width the layout should be used.
     */
    targetWidth?: TargetWidth;
    /**
     * Controls how the content of the container should be horizontally aligned.
     */
    horizontalItemsAlignment?: HorizontalAlignment;
    /**
     * Controls how the content of the container should be vertically aligned.
     */
    verticalItemsAlignment?: VerticalAlignment;
    /**
     * Controls how item should fit inside the container.
     */
    itemFit?: FlowLayoutItemFit;
    /**
     * The minimum width, in pixels, of each item, in the `<number>px` format. Should not be used if itemWidth is set.
     */
    minItemWidth?: string;
    /**
     * The maximum width, in pixels, of each item, in the `<number>px` format. Should not be used if itemWidth is set.
     */
    maxItemWidth?: string;
    /**
     * The width, in pixels, of each item, in the `<number>px` format. Should not be used if maxItemWidth and/or minItemWidth are set.
     */
    itemWidth?: string;
    /**
     * The space between items.
     */
    columnSpacing?: Spacing;
    /**
     * The space between rows of items.
     */
    rowSpacing?: Spacing;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IFlowLayout.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of FlowLayout, false otherwise.
 */
declare function isFlowLayout(value: unknown): value is IFlowLayout;
type FlowLayoutOptions = Partial<Omit<IFlowLayout, 'type'>>;
/**
 * A layout that spreads elements horizontally and wraps them across multiple rows, as needed.
 */
declare class FlowLayout implements IFlowLayout {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Layout.Flow**.
     */
    readonly type = "Layout.Flow";
    /**
     * Controls for which card width the layout should be used.
     */
    targetWidth?: TargetWidth;
    /**
     * Controls how the content of the container should be horizontally aligned.
     */
    horizontalItemsAlignment?: HorizontalAlignment;
    /**
     * Controls how the content of the container should be vertically aligned.
     */
    verticalItemsAlignment?: VerticalAlignment;
    /**
     * Controls how item should fit inside the container.
     */
    itemFit?: FlowLayoutItemFit;
    /**
     * The minimum width, in pixels, of each item, in the `<number>px` format. Should not be used if itemWidth is set.
     */
    minItemWidth?: string;
    /**
     * The maximum width, in pixels, of each item, in the `<number>px` format. Should not be used if itemWidth is set.
     */
    maxItemWidth?: string;
    /**
     * The width, in pixels, of each item, in the `<number>px` format. Should not be used if maxItemWidth and/or minItemWidth are set.
     */
    itemWidth?: string;
    /**
     * The space between items.
     */
    columnSpacing?: Spacing;
    /**
     * The space between rows of items.
     */
    rowSpacing?: Spacing;
    constructor(options?: FlowLayoutOptions);
    static from(options: Omit<IFlowLayout, 'type'>): FlowLayout;
    withKey(key: string): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withHorizontalItemsAlignment(horizontalItemsAlignment: HorizontalAlignment): this;
    withVerticalItemsAlignment(verticalItemsAlignment: VerticalAlignment): this;
    withItemFit(itemFit: FlowLayoutItemFit): this;
    withMinItemWidth(minItemWidth: string): this;
    withMaxItemWidth(maxItemWidth: string): this;
    withItemWidth(itemWidth: string): this;
    withColumnSpacing(columnSpacing: Spacing): this;
    withRowSpacing(rowSpacing: Spacing): this;
}
/**
 * A layout that divides a container into named areas into which elements can be placed.
 */
interface IAreaGridLayout {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Layout.AreaGrid**.
     */
    readonly type: 'Layout.AreaGrid';
    /**
     * Controls for which card width the layout should be used.
     */
    targetWidth?: TargetWidth;
    /**
     * The columns in the grid layout, defined as a percentage of the available width or in pixels using the `<number>px` format.
     */
    columns?: (number | string)[];
    /**
     * The areas in the grid layout.
     */
    areas?: IGridArea[];
    /**
     * The space between columns.
     */
    columnSpacing?: Spacing;
    /**
     * The space between rows.
     */
    rowSpacing?: Spacing;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IAreaGridLayout.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of AreaGridLayout, false otherwise.
 */
declare function isAreaGridLayout(value: unknown): value is IAreaGridLayout;
type AreaGridLayoutOptions = Partial<Omit<IAreaGridLayout, 'type'>>;
/**
 * A layout that divides a container into named areas into which elements can be placed.
 */
declare class AreaGridLayout implements IAreaGridLayout {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Layout.AreaGrid**.
     */
    readonly type = "Layout.AreaGrid";
    /**
     * Controls for which card width the layout should be used.
     */
    targetWidth?: TargetWidth;
    /**
     * The columns in the grid layout, defined as a percentage of the available width or in pixels using the `<number>px` format.
     */
    columns?: (number | string)[];
    /**
     * The areas in the grid layout.
     */
    areas?: IGridArea[];
    /**
     * The space between columns.
     */
    columnSpacing?: Spacing;
    /**
     * The space between rows.
     */
    rowSpacing?: Spacing;
    constructor(options?: AreaGridLayoutOptions);
    static from(options: Omit<IAreaGridLayout, 'type'>): AreaGridLayout;
    withKey(key: string): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withColumns(...columns: (number | string)[]): this;
    withAreas(...areas: IGridArea[]): this;
    withColumnSpacing(columnSpacing: Spacing): this;
    withRowSpacing(rowSpacing: Spacing): this;
}
/**
 * Defines an area in a Layout.AreaGrid layout.
 */
interface IGridArea {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The name of the area. To place an element in this area, set its `grid.area` property to match the name of the area.
     */
    name?: string;
    /**
     * The start column index of the area. Column indices start at 1.
     */
    column?: number;
    /**
     * Defines how many columns the area should span.
     */
    columnSpan?: number;
    /**
     * The start row index of the area. Row indices start at 1.
     */
    row?: number;
    /**
     * Defines how many rows the area should span.
     */
    rowSpan?: number;
}
type GridAreaOptions = Partial<IGridArea>;
/**
 * Defines an area in a Layout.AreaGrid layout.
 */
declare class GridArea implements IGridArea {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The name of the area. To place an element in this area, set its `grid.area` property to match the name of the area.
     */
    name?: string;
    /**
     * The start column index of the area. Column indices start at 1.
     */
    column?: number;
    /**
     * Defines how many columns the area should span.
     */
    columnSpan?: number;
    /**
     * The start row index of the area. Row indices start at 1.
     */
    row?: number;
    /**
     * Defines how many rows the area should span.
     */
    rowSpan?: number;
    constructor(options?: GridAreaOptions);
    static from(options: IGridArea): GridArea;
    withKey(key: string): this;
    withName(name: string): this;
    withColumn(column: number): this;
    withColumnSpan(columnSpan: number): this;
    withRow(row: number): this;
    withRowSpan(rowSpan: number): this;
}
/**
 * Defines a container's background image and the way it should be rendered.
 */
interface IBackgroundImage {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The URL (or Base64-encoded Data URI) of the image. Acceptable formats are PNG, JPEG, GIF and SVG.
     */
    url?: string;
    /**
     * Controls how the image should fill the area.
     */
    fillMode?: FillMode;
    /**
     * Controls how the image should be aligned if it must be cropped or if using repeat fill mode.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls how the image should be aligned if it must be cropped or if using repeat fill mode.
     */
    verticalAlignment?: VerticalAlignment;
    /**
     * A set of theme-specific image URLs.
     */
    themedUrls?: IThemedUrl[];
}
type BackgroundImageOptions = Partial<IBackgroundImage>;
/**
 * Defines a container's background image and the way it should be rendered.
 */
declare class BackgroundImage implements IBackgroundImage {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The URL (or Base64-encoded Data URI) of the image. Acceptable formats are PNG, JPEG, GIF and SVG.
     */
    url?: string;
    /**
     * Controls how the image should fill the area.
     */
    fillMode?: FillMode;
    /**
     * Controls how the image should be aligned if it must be cropped or if using repeat fill mode.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls how the image should be aligned if it must be cropped or if using repeat fill mode.
     */
    verticalAlignment?: VerticalAlignment;
    /**
     * A set of theme-specific image URLs.
     */
    themedUrls?: IThemedUrl[];
    constructor(options?: BackgroundImageOptions);
    static from(options: IBackgroundImage): BackgroundImage;
    withKey(key: string): this;
    withUrl(url: string): this;
    withFillMode(fillMode: FillMode): this;
    withHorizontalAlignment(horizontalAlignment: HorizontalAlignment): this;
    withVerticalAlignment(verticalAlignment: VerticalAlignment): this;
    withThemedUrls(...themedUrls: IThemedUrl[]): this;
}
/**
 * Splits the available horizontal space into separate columns, so elements can be organized in a row.
 */
interface IColumnSet {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **ColumnSet**.
     */
    readonly type: 'ColumnSet';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * An Action that will be invoked when the element is tapped or clicked. Action.ShowCard is not supported.
     */
    selectAction?: IExecuteAction | IInsertImageAction | IOpenUrlAction | IOpenUrlDialogAction | IPopoverAction | IResetInputsAction | ISubmitAction | IToggleVisibilityAction;
    /**
     * The style of the container. Container styles control the colors of the background, border and text inside the container, in such a way that contrast requirements are always met.
     */
    style?: ContainerStyle;
    /**
     * Controls if a border should be displayed around the container.
     */
    showBorder?: boolean;
    /**
     * Controls if the container should have rounded corners.
     */
    roundedCorners?: boolean;
    /**
     * Controls if the container should bleed into its parent. A bleeding container extends into its parent's padding.
     */
    bleed?: boolean;
    /**
     * The minimum height, in pixels, of the container, in the `<number>px` format.
     */
    minHeight?: string;
    /**
     * The minimum width of the column set. `auto` will automatically adjust the column set's minimum width according to its content and using the `<number>px` format will give the column set an explicit minimum width in pixels. A scrollbar will be displayed if the available width is less than the specified minimum width.
     */
    minWidth?: 'auto' | string;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    /**
     * The columns in the set.
     */
    columns?: ColumnArray;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IColumnSet.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of ColumnSet, false otherwise.
 */
declare function isColumnSet(value: unknown): value is IColumnSet;
type ColumnSetOptions = Partial<Omit<IColumnSet, 'type'>>;
/**
 * Splits the available horizontal space into separate columns, so elements can be organized in a row.
 */
declare class ColumnSet implements IColumnSet {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **ColumnSet**.
     */
    readonly type = "ColumnSet";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * An Action that will be invoked when the element is tapped or clicked. Action.ShowCard is not supported.
     */
    selectAction?: IExecuteAction | IInsertImageAction | IOpenUrlAction | IOpenUrlDialogAction | IPopoverAction | IResetInputsAction | ISubmitAction | IToggleVisibilityAction;
    /**
     * The style of the container. Container styles control the colors of the background, border and text inside the container, in such a way that contrast requirements are always met.
     */
    style?: ContainerStyle;
    /**
     * Controls if a border should be displayed around the container.
     */
    showBorder?: boolean;
    /**
     * Controls if the container should have rounded corners.
     */
    roundedCorners?: boolean;
    /**
     * Controls if the container should bleed into its parent. A bleeding container extends into its parent's padding.
     */
    bleed?: boolean;
    /**
     * The minimum height, in pixels, of the container, in the `<number>px` format.
     */
    minHeight?: string;
    /**
     * The minimum width of the column set. `auto` will automatically adjust the column set's minimum width according to its content and using the `<number>px` format will give the column set an explicit minimum width in pixels. A scrollbar will be displayed if the available width is less than the specified minimum width.
     */
    minWidth?: 'auto' | string;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    /**
     * The columns in the set.
     */
    columns?: ColumnArray;
    constructor(options?: ColumnSetOptions);
    static from(options: Omit<IColumnSet, 'type'>): ColumnSet;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withSeparator(separator?: boolean): this;
    withHeight(height: ElementHeight): this;
    withHorizontalAlignment(horizontalAlignment: HorizontalAlignment): this;
    withSpacing(spacing: Spacing): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withIsSortKey(isSortKey?: boolean): this;
    withSelectAction(selectAction: IExecuteAction | IInsertImageAction | IOpenUrlAction | IOpenUrlDialogAction | IPopoverAction | IResetInputsAction | ISubmitAction | IToggleVisibilityAction): this;
    withStyle(style: ContainerStyle): this;
    withShowBorder(showBorder?: boolean): this;
    withRoundedCorners(roundedCorners?: boolean): this;
    withBleed(bleed?: boolean): this;
    withMinHeight(minHeight: string): this;
    withMinWidth(minWidth: 'auto' | string): this;
    withFallback(fallback: FallbackElement): this;
    withColumns(...columns: ColumnArray): this;
}
/**
 * A media element, that makes it possible to embed videos inside a card.
 */
interface IMedia {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Media**.
     */
    readonly type: 'Media';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The sources for the media. For YouTube, Dailymotion and Vimeo, only one source can be specified.
     */
    sources?: IMediaSource[];
    /**
     * The caption sources for the media. Caption sources are not used for YouTube, Dailymotion or Vimeo sources.
     */
    captionSources?: ICaptionSource[];
    /**
     * The URL of the poster image to display.
     */
    poster?: string;
    /**
     * The alternate text for the media, used for accessibility purposes.
     */
    altText?: string;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IMedia.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of Media, false otherwise.
 */
declare function isMedia(value: unknown): value is IMedia;
type MediaOptions = Partial<Omit<IMedia, 'type'>>;
/**
 * A media element, that makes it possible to embed videos inside a card.
 */
declare class Media implements IMedia {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Media**.
     */
    readonly type = "Media";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The sources for the media. For YouTube, Dailymotion and Vimeo, only one source can be specified.
     */
    sources?: IMediaSource[];
    /**
     * The caption sources for the media. Caption sources are not used for YouTube, Dailymotion or Vimeo sources.
     */
    captionSources?: ICaptionSource[];
    /**
     * The URL of the poster image to display.
     */
    poster?: string;
    /**
     * The alternate text for the media, used for accessibility purposes.
     */
    altText?: string;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    constructor(options?: MediaOptions);
    static from(options: Omit<IMedia, 'type'>): Media;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withSeparator(separator?: boolean): this;
    withHeight(height: ElementHeight): this;
    withSpacing(spacing: Spacing): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withIsSortKey(isSortKey?: boolean): this;
    withSources(...sources: IMediaSource[]): this;
    withCaptionSources(...captionSources: ICaptionSource[]): this;
    withPoster(poster: string): this;
    withAltText(altText: string): this;
    withFallback(fallback: FallbackElement): this;
}
/**
 * Defines the source URL of a media stream. YouTube, Dailymotion, Vimeo and Microsoft Stream URLs are supported.
 */
interface IMediaSource {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The MIME type of the source.
     */
    mimeType?: string;
    /**
     * The URL of the source.
     */
    url?: string;
}
type MediaSourceOptions = Partial<IMediaSource>;
/**
 * Defines the source URL of a media stream. YouTube, Dailymotion, Vimeo and Microsoft Stream URLs are supported.
 */
declare class MediaSource implements IMediaSource {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The MIME type of the source.
     */
    mimeType?: string;
    /**
     * The URL of the source.
     */
    url?: string;
    constructor(options?: MediaSourceOptions);
    static from(options: IMediaSource): MediaSource;
    withKey(key: string): this;
    withMimeType(mimeType: string): this;
    withUrl(url: string): this;
}
/**
 * Defines a source URL for a video captions.
 */
interface ICaptionSource {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The MIME type of the source.
     */
    mimeType?: string;
    /**
     * The URL of the source.
     */
    url?: string;
    /**
     * The label of this caption source.
     */
    label?: string;
}
type CaptionSourceOptions = Partial<ICaptionSource>;
/**
 * Defines a source URL for a video captions.
 */
declare class CaptionSource implements ICaptionSource {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The MIME type of the source.
     */
    mimeType?: string;
    /**
     * The URL of the source.
     */
    url?: string;
    /**
     * The label of this caption source.
     */
    label?: string;
    constructor(options?: CaptionSourceOptions);
    static from(options: ICaptionSource): CaptionSource;
    withKey(key: string): this;
    withMimeType(mimeType: string): this;
    withUrl(url: string): this;
    withLabel(label: string): this;
}
/**
 * A rich text block that displays formatted text.
 */
interface IRichTextBlock {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **RichTextBlock**.
     */
    readonly type: 'RichTextBlock';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The Id of the input the RichTextBlock should act as the label of.
     */
    labelFor?: string;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    /**
     * The inlines making up the rich text block.
     */
    inlines?: RichTextBlockInlineArray;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IRichTextBlock.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of RichTextBlock, false otherwise.
 */
declare function isRichTextBlock(value: unknown): value is IRichTextBlock;
type RichTextBlockOptions = Partial<Omit<IRichTextBlock, 'type'>>;
/**
 * A rich text block that displays formatted text.
 */
declare class RichTextBlock implements IRichTextBlock {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **RichTextBlock**.
     */
    readonly type = "RichTextBlock";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The Id of the input the RichTextBlock should act as the label of.
     */
    labelFor?: string;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    /**
     * The inlines making up the rich text block.
     */
    inlines?: RichTextBlockInlineArray;
    constructor(options?: RichTextBlockOptions);
    static from(options: Omit<IRichTextBlock, 'type'>): RichTextBlock;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withSeparator(separator?: boolean): this;
    withHeight(height: ElementHeight): this;
    withHorizontalAlignment(horizontalAlignment: HorizontalAlignment): this;
    withSpacing(spacing: Spacing): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withIsSortKey(isSortKey?: boolean): this;
    withLabelFor(labelFor: string): this;
    withFallback(fallback: FallbackElement): this;
    withInlines(...inlines: RichTextBlockInlineArray): this;
}
/**
 * Use tables to display data in a tabular way, with rows, columns and cells.
 */
interface ITable {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Table**.
     */
    readonly type: 'Table';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The style of the container. Container styles control the colors of the background, border and text inside the container, in such a way that contrast requirements are always met.
     */
    style?: ContainerStyle;
    /**
     * Controls if a border should be displayed around the container.
     */
    showBorder?: boolean;
    /**
     * Controls if the container should have rounded corners.
     */
    roundedCorners?: boolean;
    /**
     * The columns in the table.
     */
    columns?: IColumnDefinition[];
    /**
     * The minimum width of the table in pixels. `auto` will automatically adjust the table's minimum width according to its content and using the `<number>px` format will give the table an explicit minimum width in pixels. A scrollbar will be displayed if the available width is less than the specified minimum width.
     */
    minWidth?: 'auto' | string;
    /**
     * Controls whether the first row of the table should be treated as a header.
     */
    firstRowAsHeaders?: boolean;
    /**
     * Controls if grid lines should be displayed.
     */
    showGridLines?: boolean;
    /**
     * The style of the grid lines between cells.
     */
    gridStyle?: ContainerStyle;
    /**
     * Controls how the content of every cell in the table should be horizontally aligned by default.
     */
    horizontalCellContentAlignment?: HorizontalAlignment;
    /**
     * Controls how the content of every cell in the table should be vertically aligned by default.
     */
    verticalCellContentAlignment?: VerticalAlignment;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    /**
     * The rows of the table.
     */
    rows?: TableRowArray;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type ITable.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of Table, false otherwise.
 */
declare function isTable(value: unknown): value is ITable;
type TableOptions = Partial<Omit<ITable, 'type'>>;
/**
 * Use tables to display data in a tabular way, with rows, columns and cells.
 */
declare class Table implements ITable {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Table**.
     */
    readonly type = "Table";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The style of the container. Container styles control the colors of the background, border and text inside the container, in such a way that contrast requirements are always met.
     */
    style?: ContainerStyle;
    /**
     * Controls if a border should be displayed around the container.
     */
    showBorder?: boolean;
    /**
     * Controls if the container should have rounded corners.
     */
    roundedCorners?: boolean;
    /**
     * The columns in the table.
     */
    columns?: IColumnDefinition[];
    /**
     * The minimum width of the table in pixels. `auto` will automatically adjust the table's minimum width according to its content and using the `<number>px` format will give the table an explicit minimum width in pixels. A scrollbar will be displayed if the available width is less than the specified minimum width.
     */
    minWidth?: 'auto' | string;
    /**
     * Controls whether the first row of the table should be treated as a header.
     */
    firstRowAsHeaders?: boolean;
    /**
     * Controls if grid lines should be displayed.
     */
    showGridLines?: boolean;
    /**
     * The style of the grid lines between cells.
     */
    gridStyle?: ContainerStyle;
    /**
     * Controls how the content of every cell in the table should be horizontally aligned by default.
     */
    horizontalCellContentAlignment?: HorizontalAlignment;
    /**
     * Controls how the content of every cell in the table should be vertically aligned by default.
     */
    verticalCellContentAlignment?: VerticalAlignment;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    /**
     * The rows of the table.
     */
    rows?: TableRowArray;
    constructor(options?: TableOptions);
    static from(options: Omit<ITable, 'type'>): Table;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withSeparator(separator?: boolean): this;
    withHeight(height: ElementHeight): this;
    withHorizontalAlignment(horizontalAlignment: HorizontalAlignment): this;
    withSpacing(spacing: Spacing): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withIsSortKey(isSortKey?: boolean): this;
    withStyle(style: ContainerStyle): this;
    withShowBorder(showBorder?: boolean): this;
    withRoundedCorners(roundedCorners?: boolean): this;
    withColumns(...columns: IColumnDefinition[]): this;
    withMinWidth(minWidth: 'auto' | string): this;
    withFirstRowAsHeaders(firstRowAsHeaders?: boolean): this;
    withShowGridLines(showGridLines?: boolean): this;
    withGridStyle(gridStyle: ContainerStyle): this;
    withHorizontalCellContentAlignment(horizontalCellContentAlignment: HorizontalAlignment): this;
    withVerticalCellContentAlignment(verticalCellContentAlignment: VerticalAlignment): this;
    withFallback(fallback: FallbackElement): this;
    withRows(...rows: TableRowArray): this;
}
/**
 * Defines a column in a Table element.
 */
interface IColumnDefinition {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Controls how the content of every cell in the table should be horizontally aligned by default. This property overrides the horizontalCellContentAlignment property of the table.
     */
    horizontalCellContentAlignment?: HorizontalAlignment;
    /**
     * Controls how the content of every cell in the column should be vertically aligned by default. This property overrides the verticalCellContentAlignment property of the table.
     */
    verticalCellContentAlignment?: VerticalAlignment;
    /**
     * The width of the column in the table. If expressed as a number, represents the relative weight of the column in the table. If expressed as a string, `auto` will automatically adjust the column's width according to its content and using the `<number>px` format will give the column an explicit width in pixels.
     */
    width?: 'auto' | string | number;
}
type ColumnDefinitionOptions = Partial<IColumnDefinition>;
/**
 * Defines a column in a Table element.
 */
declare class ColumnDefinition implements IColumnDefinition {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Controls how the content of every cell in the table should be horizontally aligned by default. This property overrides the horizontalCellContentAlignment property of the table.
     */
    horizontalCellContentAlignment?: HorizontalAlignment;
    /**
     * Controls how the content of every cell in the column should be vertically aligned by default. This property overrides the verticalCellContentAlignment property of the table.
     */
    verticalCellContentAlignment?: VerticalAlignment;
    /**
     * The width of the column in the table. If expressed as a number, represents the relative weight of the column in the table. If expressed as a string, `auto` will automatically adjust the column's width according to its content and using the `<number>px` format will give the column an explicit width in pixels.
     */
    width?: 'auto' | string | number;
    constructor(options?: ColumnDefinitionOptions);
    static from(options: IColumnDefinition): ColumnDefinition;
    withKey(key: string): this;
    withHorizontalCellContentAlignment(horizontalCellContentAlignment: HorizontalAlignment): this;
    withVerticalCellContentAlignment(verticalCellContentAlignment: VerticalAlignment): this;
    withWidth(width: 'auto' | string | number): this;
}
/**
 * A block of text, optionally formatted using Markdown.
 */
interface ITextBlock {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **TextBlock**.
     */
    readonly type: 'TextBlock';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The text to display. A subset of markdown is supported.
     */
    text: string;
    /**
     * The size of the text.
     */
    size?: TextSize;
    /**
     * The weight of the text.
     */
    weight?: TextWeight;
    /**
     * The color of the text.
     */
    color?: TextColor;
    /**
     * Controls whether the text should be renderer using a subtler variant of the select color.
     */
    isSubtle?: boolean;
    /**
     * The type of font to use for rendering.
     */
    fontType?: FontType;
    /**
     * Controls if the text should wrap.
     */
    wrap?: boolean;
    /**
     * The maximum number of lines to display.
     */
    maxLines?: number;
    /**
     * The style of the text.
     */
    style?: TextBlockStyle;
    /**
     * The Id of the input the TextBlock should act as the label of.
     */
    labelFor?: string;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type ITextBlock.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of TextBlock, false otherwise.
 */
declare function isTextBlock(value: unknown): value is ITextBlock;
type TextBlockOptions = Partial<Omit<ITextBlock, 'type' | 'text'>>;
/**
 * A block of text, optionally formatted using Markdown.
 */
declare class TextBlock implements ITextBlock {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **TextBlock**.
     */
    readonly type = "TextBlock";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The text to display. A subset of markdown is supported.
     */
    text: string;
    /**
     * The size of the text.
     */
    size?: TextSize;
    /**
     * The weight of the text.
     */
    weight?: TextWeight;
    /**
     * The color of the text.
     */
    color?: TextColor;
    /**
     * Controls whether the text should be renderer using a subtler variant of the select color.
     */
    isSubtle?: boolean;
    /**
     * The type of font to use for rendering.
     */
    fontType?: FontType;
    /**
     * Controls if the text should wrap.
     */
    wrap?: boolean;
    /**
     * The maximum number of lines to display.
     */
    maxLines?: number;
    /**
     * The style of the text.
     */
    style?: TextBlockStyle;
    /**
     * The Id of the input the TextBlock should act as the label of.
     */
    labelFor?: string;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    constructor(text: string, options?: TextBlockOptions);
    static from(options: Omit<ITextBlock, 'type'>): TextBlock;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withSeparator(separator?: boolean): this;
    withHeight(height: ElementHeight): this;
    withHorizontalAlignment(horizontalAlignment: HorizontalAlignment): this;
    withSpacing(spacing: Spacing): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withIsSortKey(isSortKey?: boolean): this;
    withText(text: string): this;
    withSize(size: TextSize): this;
    withWeight(weight: TextWeight): this;
    withColor(color: TextColor): this;
    withIsSubtle(isSubtle: boolean): this;
    withFontType(fontType: FontType): this;
    withWrap(wrap?: boolean): this;
    withMaxLines(maxLines: number): this;
    withStyle(style: TextBlockStyle): this;
    withLabelFor(labelFor: string): this;
    withFallback(fallback: FallbackElement): this;
}
/**
 * A set of facts, displayed as a table or a vertical list when horizontal space is constrained.
 */
interface IFactSet {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **FactSet**.
     */
    readonly type: 'FactSet';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The facts in the set.
     */
    facts: IFact[];
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IFactSet.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of FactSet, false otherwise.
 */
declare function isFactSet(value: unknown): value is IFactSet;
type FactSetOptions = Partial<Omit<IFactSet, 'type' | 'facts'>>;
/**
 * A set of facts, displayed as a table or a vertical list when horizontal space is constrained.
 */
declare class FactSet implements IFactSet {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **FactSet**.
     */
    readonly type = "FactSet";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The facts in the set.
     */
    facts: IFact[];
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    constructor(...facts: IFact[]);
    withOptions(value: FactSetOptions): this;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withSeparator(separator?: boolean): this;
    withHeight(height: ElementHeight): this;
    withSpacing(spacing: Spacing): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withIsSortKey(isSortKey?: boolean): this;
    withFacts(...facts: IFact[]): this;
    withFallback(fallback: FallbackElement): this;
}
/**
 * A fact in a FactSet element.
 */
interface IFact {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The fact's title.
     */
    title: string;
    /**
     * The fact's value.
     */
    value: string;
}
type FactOptions = Partial<IFact>;
/**
 * A fact in a FactSet element.
 */
declare class Fact implements IFact {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The fact's title.
     */
    title: string;
    /**
     * The fact's value.
     */
    value: string;
    constructor(title: string, value: string, options?: FactOptions);
    static from(options: IFact): Fact;
    withKey(key: string): this;
    withTitle(title: string): this;
    withValue(value: string): this;
}
/**
 * A set of images, displayed side-by-side and wrapped across multiple rows as needed.
 */
interface IImageSet {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **ImageSet**.
     */
    readonly type: 'ImageSet';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The images in the set.
     */
    images: IImage[];
    /**
     * The size to use to render all images in the set.
     */
    imageSize?: ImageSize;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IImageSet.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of ImageSet, false otherwise.
 */
declare function isImageSet(value: unknown): value is IImageSet;
type ImageSetOptions = Partial<Omit<IImageSet, 'type' | 'images'>>;
/**
 * A set of images, displayed side-by-side and wrapped across multiple rows as needed.
 */
declare class ImageSet implements IImageSet {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **ImageSet**.
     */
    readonly type = "ImageSet";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The images in the set.
     */
    images: IImage[];
    /**
     * The size to use to render all images in the set.
     */
    imageSize?: ImageSize;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    constructor(...images: IImage[]);
    withOptions(value: ImageSetOptions): this;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withSeparator(separator?: boolean): this;
    withHeight(height: ElementHeight): this;
    withHorizontalAlignment(horizontalAlignment: HorizontalAlignment): this;
    withSpacing(spacing: Spacing): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withIsSortKey(isSortKey?: boolean): this;
    withImages(...images: IImage[]): this;
    withImageSize(imageSize: ImageSize): this;
    withFallback(fallback: FallbackElement): this;
}
/**
 * A standalone image element.
 */
interface IImage {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Image**.
     */
    readonly type: 'Image';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The URL (or Base64-encoded Data URI) of the image. Acceptable formats are PNG, JPEG, GIF and SVG.
     */
    url: string;
    /**
     * The alternate text for the image, used for accessibility purposes.
     */
    altText?: string;
    /**
     * The background color of the image.
     */
    backgroundColor?: string;
    /**
     * The style of the image.
     */
    style?: ImageStyle;
    /**
     * The size of the image.
     */
    size?: Size;
    /**
     * The width of the image.
     */
    width?: 'auto' | 'stretch' | string;
    /**
     * An Action that will be invoked when the image is tapped or clicked. Action.ShowCard is not supported.
     */
    selectAction?: IExecuteAction | IInsertImageAction | IOpenUrlAction | IOpenUrlDialogAction | IPopoverAction | IResetInputsAction | ISubmitAction | IToggleVisibilityAction;
    /**
     * Controls if the image can be expanded to full screen.
     */
    allowExpand?: boolean;
    /**
     * Teams-specific metadata associated with the image.
     */
    msteams?: ITeamsImageProperties;
    /**
     * A set of theme-specific image URLs.
     */
    themedUrls?: IThemedUrl[];
    /**
     * Controls how the image should be fitted inside its bounding box. imageFit is only meaningful when both the width and height properties are set. When fitMode is set to contain, the default style is always used.
     */
    fitMode?: ImageFitMode;
    /**
     * Controls the horizontal position of the image within its bounding box. horizontalContentAlignment is only meaningful when both the width and height properties are set and fitMode is set to either cover or contain.
     */
    horizontalContentAlignment?: HorizontalAlignment;
    /**
     * Controls the vertical position of the image within its bounding box. verticalContentAlignment is only meaningful when both the width and height properties are set and fitMode is set to either cover or contain.
     */
    verticalContentAlignment?: VerticalAlignment;
    /**
     * The height of the image.
     */
    height?: 'auto' | 'stretch' | string;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IImage.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of Image, false otherwise.
 */
declare function isImage(value: unknown): value is IImage;
type ImageOptions = Partial<Omit<IImage, 'type' | 'url'>>;
/**
 * A standalone image element.
 */
declare class Image implements IImage {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Image**.
     */
    readonly type = "Image";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The URL (or Base64-encoded Data URI) of the image. Acceptable formats are PNG, JPEG, GIF and SVG.
     */
    url: string;
    /**
     * The alternate text for the image, used for accessibility purposes.
     */
    altText?: string;
    /**
     * The background color of the image.
     */
    backgroundColor?: string;
    /**
     * The style of the image.
     */
    style?: ImageStyle;
    /**
     * The size of the image.
     */
    size?: Size;
    /**
     * The width of the image.
     */
    width?: 'auto' | 'stretch' | string;
    /**
     * An Action that will be invoked when the image is tapped or clicked. Action.ShowCard is not supported.
     */
    selectAction?: IExecuteAction | IInsertImageAction | IOpenUrlAction | IOpenUrlDialogAction | IPopoverAction | IResetInputsAction | ISubmitAction | IToggleVisibilityAction;
    /**
     * Controls if the image can be expanded to full screen.
     */
    allowExpand?: boolean;
    /**
     * Teams-specific metadata associated with the image.
     */
    msteams?: ITeamsImageProperties;
    /**
     * A set of theme-specific image URLs.
     */
    themedUrls?: IThemedUrl[];
    /**
     * Controls how the image should be fitted inside its bounding box. imageFit is only meaningful when both the width and height properties are set. When fitMode is set to contain, the default style is always used.
     */
    fitMode?: ImageFitMode;
    /**
     * Controls the horizontal position of the image within its bounding box. horizontalContentAlignment is only meaningful when both the width and height properties are set and fitMode is set to either cover or contain.
     */
    horizontalContentAlignment?: HorizontalAlignment;
    /**
     * Controls the vertical position of the image within its bounding box. verticalContentAlignment is only meaningful when both the width and height properties are set and fitMode is set to either cover or contain.
     */
    verticalContentAlignment?: VerticalAlignment;
    /**
     * The height of the image.
     */
    height?: 'auto' | 'stretch' | string;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    constructor(url: string, options?: ImageOptions);
    static from(options: Omit<IImage, 'type'>): Image;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withSeparator(separator?: boolean): this;
    withHorizontalAlignment(horizontalAlignment: HorizontalAlignment): this;
    withSpacing(spacing: Spacing): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withIsSortKey(isSortKey?: boolean): this;
    withUrl(url: string): this;
    withAltText(altText: string): this;
    withBackgroundColor(backgroundColor: string): this;
    withStyle(style: ImageStyle): this;
    withSize(size: Size): this;
    withWidth(width: 'auto' | 'stretch' | string): this;
    withSelectAction(selectAction: IExecuteAction | IInsertImageAction | IOpenUrlAction | IOpenUrlDialogAction | IPopoverAction | IResetInputsAction | ISubmitAction | IToggleVisibilityAction): this;
    withAllowExpand(allowExpand?: boolean): this;
    withMsteams(msteams: ITeamsImageProperties): this;
    withThemedUrls(...themedUrls: IThemedUrl[]): this;
    withFitMode(fitMode: ImageFitMode): this;
    withHorizontalContentAlignment(horizontalContentAlignment: HorizontalAlignment): this;
    withVerticalContentAlignment(verticalContentAlignment: VerticalAlignment): this;
    withHeight(height: 'auto' | 'stretch' | string): this;
    withFallback(fallback: FallbackElement): this;
}
/**
 * Represents a set of Teams-specific properties on an image.
 */
interface ITeamsImageProperties {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Controls if the image is expandable in Teams. This property is equivalent to the Image.allowExpand property.
     */
    allowExpand?: boolean;
}
type TeamsImagePropertiesOptions = Partial<ITeamsImageProperties>;
/**
 * Represents a set of Teams-specific properties on an image.
 */
declare class TeamsImageProperties implements ITeamsImageProperties {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Controls if the image is expandable in Teams. This property is equivalent to the Image.allowExpand property.
     */
    allowExpand?: boolean;
    constructor(options?: TeamsImagePropertiesOptions);
    static from(options: ITeamsImageProperties): TeamsImageProperties;
    withKey(key: string): this;
    withAllowExpand(allowExpand: boolean): this;
}
/**
 * An input to allow the user to enter text.
 */
interface ITextInput {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Input.Text**.
     */
    readonly type: 'Input.Text';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The label of the input.
     *
     * A label should **always** be provided to ensure the best user experience especially for users of assistive technology.
     */
    label?: string;
    /**
     * Controls whether the input is required. See [Input validation](https://adaptivecards.microsoft.com/?topic=input-validation) for more details.
     */
    isRequired?: boolean;
    /**
     * The error message to display when the input fails validation. See [Input validation](https://adaptivecards.microsoft.com/?topic=input-validation) for more details.
     */
    errorMessage?: string;
    /**
     * An Action.ResetInputs action that will be executed when the value of the input changes.
     */
    valueChangedAction?: IOpenUrlDialogAction | IPopoverAction | IResetInputsAction;
    /**
     * The default value of the input.
     */
    value?: string;
    /**
     * The maximum length of the text in the input.
     */
    maxLength?: number;
    /**
     * Controls if the input should allow multiple lines of text.
     */
    isMultiline?: boolean;
    /**
     * The text to display as a placeholder when the user hasn't entered a value.
     */
    placeholder?: string;
    /**
     * The style of the input.
     */
    style?: InputTextStyle;
    /**
     * The action that should be displayed as a button alongside the input. Action.ShowCard is not supported.
     */
    inlineAction?: IExecuteAction | IInsertImageAction | IOpenUrlAction | IOpenUrlDialogAction | IPopoverAction | IResetInputsAction | ISubmitAction | IToggleVisibilityAction;
    /**
     * The regular expression to validate the input.
     */
    regex?: string;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type ITextInput.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of TextInput, false otherwise.
 */
declare function isTextInput(value: unknown): value is ITextInput;
type TextInputOptions = Partial<Omit<ITextInput, 'type'>>;
/**
 * An input to allow the user to enter text.
 */
declare class TextInput implements ITextInput {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Input.Text**.
     */
    readonly type = "Input.Text";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The label of the input.
     *
     * A label should **always** be provided to ensure the best user experience especially for users of assistive technology.
     */
    label?: string;
    /**
     * Controls whether the input is required. See [Input validation](https://adaptivecards.microsoft.com/?topic=input-validation) for more details.
     */
    isRequired?: boolean;
    /**
     * The error message to display when the input fails validation. See [Input validation](https://adaptivecards.microsoft.com/?topic=input-validation) for more details.
     */
    errorMessage?: string;
    /**
     * An Action.ResetInputs action that will be executed when the value of the input changes.
     */
    valueChangedAction?: IOpenUrlDialogAction | IPopoverAction | IResetInputsAction;
    /**
     * The default value of the input.
     */
    value?: string;
    /**
     * The maximum length of the text in the input.
     */
    maxLength?: number;
    /**
     * Controls if the input should allow multiple lines of text.
     */
    isMultiline?: boolean;
    /**
     * The text to display as a placeholder when the user hasn't entered a value.
     */
    placeholder?: string;
    /**
     * The style of the input.
     */
    style?: InputTextStyle;
    /**
     * The action that should be displayed as a button alongside the input. Action.ShowCard is not supported.
     */
    inlineAction?: IExecuteAction | IInsertImageAction | IOpenUrlAction | IOpenUrlDialogAction | IPopoverAction | IResetInputsAction | ISubmitAction | IToggleVisibilityAction;
    /**
     * The regular expression to validate the input.
     */
    regex?: string;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    constructor(options?: TextInputOptions);
    static from(options: Omit<ITextInput, 'type'>): TextInput;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withSeparator(separator?: boolean): this;
    withHeight(height: ElementHeight): this;
    withSpacing(spacing: Spacing): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withIsSortKey(isSortKey?: boolean): this;
    withLabel(label: string): this;
    withIsRequired(isRequired?: boolean): this;
    withErrorMessage(errorMessage: string): this;
    withValueChangedAction(valueChangedAction: IOpenUrlDialogAction | IPopoverAction | IResetInputsAction): this;
    withValue(value: string): this;
    withMaxLength(maxLength: number): this;
    withIsMultiline(isMultiline?: boolean): this;
    withPlaceholder(placeholder: string): this;
    withStyle(style: InputTextStyle): this;
    withInlineAction(inlineAction: IExecuteAction | IInsertImageAction | IOpenUrlAction | IOpenUrlDialogAction | IPopoverAction | IResetInputsAction | ISubmitAction | IToggleVisibilityAction): this;
    withRegex(regex: string): this;
    withFallback(fallback: FallbackElement): this;
}
/**
 * An input to allow the user to select a date.
 */
interface IDateInput {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Input.Date**.
     */
    readonly type: 'Input.Date';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The label of the input.
     *
     * A label should **always** be provided to ensure the best user experience especially for users of assistive technology.
     */
    label?: string;
    /**
     * Controls whether the input is required. See [Input validation](https://adaptivecards.microsoft.com/?topic=input-validation) for more details.
     */
    isRequired?: boolean;
    /**
     * The error message to display when the input fails validation. See [Input validation](https://adaptivecards.microsoft.com/?topic=input-validation) for more details.
     */
    errorMessage?: string;
    /**
     * An Action.ResetInputs action that will be executed when the value of the input changes.
     */
    valueChangedAction?: IOpenUrlDialogAction | IPopoverAction | IResetInputsAction;
    /**
     * The default value of the input, in the `YYYY-MM-DD` format.
     */
    value?: string;
    /**
     * The text to display as a placeholder when the user has not selected a date.
     */
    placeholder?: string;
    /**
     * The minimum date that can be selected.
     */
    min?: string;
    /**
     * The maximum date that can be selected.
     */
    max?: string;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IDateInput.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of DateInput, false otherwise.
 */
declare function isDateInput(value: unknown): value is IDateInput;
type DateInputOptions = Partial<Omit<IDateInput, 'type'>>;
/**
 * An input to allow the user to select a date.
 */
declare class DateInput implements IDateInput {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Input.Date**.
     */
    readonly type = "Input.Date";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The label of the input.
     *
     * A label should **always** be provided to ensure the best user experience especially for users of assistive technology.
     */
    label?: string;
    /**
     * Controls whether the input is required. See [Input validation](https://adaptivecards.microsoft.com/?topic=input-validation) for more details.
     */
    isRequired?: boolean;
    /**
     * The error message to display when the input fails validation. See [Input validation](https://adaptivecards.microsoft.com/?topic=input-validation) for more details.
     */
    errorMessage?: string;
    /**
     * An Action.ResetInputs action that will be executed when the value of the input changes.
     */
    valueChangedAction?: IOpenUrlDialogAction | IPopoverAction | IResetInputsAction;
    /**
     * The default value of the input, in the `YYYY-MM-DD` format.
     */
    value?: string;
    /**
     * The text to display as a placeholder when the user has not selected a date.
     */
    placeholder?: string;
    /**
     * The minimum date that can be selected.
     */
    min?: string;
    /**
     * The maximum date that can be selected.
     */
    max?: string;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    constructor(options?: DateInputOptions);
    static from(options: Omit<IDateInput, 'type'>): DateInput;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withSeparator(separator?: boolean): this;
    withHeight(height: ElementHeight): this;
    withSpacing(spacing: Spacing): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withIsSortKey(isSortKey?: boolean): this;
    withLabel(label: string): this;
    withIsRequired(isRequired?: boolean): this;
    withErrorMessage(errorMessage: string): this;
    withValueChangedAction(valueChangedAction: IOpenUrlDialogAction | IPopoverAction | IResetInputsAction): this;
    withValue(value: string): this;
    withPlaceholder(placeholder: string): this;
    withMin(min: string): this;
    withMax(max: string): this;
    withFallback(fallback: FallbackElement): this;
}
/**
 * An input to allow the user to select a time.
 */
interface ITimeInput {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Input.Time**.
     */
    readonly type: 'Input.Time';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The label of the input.
     *
     * A label should **always** be provided to ensure the best user experience especially for users of assistive technology.
     */
    label?: string;
    /**
     * Controls whether the input is required. See [Input validation](https://adaptivecards.microsoft.com/?topic=input-validation) for more details.
     */
    isRequired?: boolean;
    /**
     * The error message to display when the input fails validation. See [Input validation](https://adaptivecards.microsoft.com/?topic=input-validation) for more details.
     */
    errorMessage?: string;
    /**
     * An Action.ResetInputs action that will be executed when the value of the input changes.
     */
    valueChangedAction?: IOpenUrlDialogAction | IPopoverAction | IResetInputsAction;
    /**
     * The default value of the input, in the `HH:MM` format.
     */
    value?: string;
    /**
     * The text to display as a placeholder when the user hasn't entered a value.
     */
    placeholder?: string;
    /**
     * The minimum time that can be selected, in the `HH:MM` format.
     */
    min?: string;
    /**
     * The maximum time that can be selected, in the `HH:MM` format.
     */
    max?: string;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type ITimeInput.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of TimeInput, false otherwise.
 */
declare function isTimeInput(value: unknown): value is ITimeInput;
type TimeInputOptions = Partial<Omit<ITimeInput, 'type'>>;
/**
 * An input to allow the user to select a time.
 */
declare class TimeInput implements ITimeInput {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Input.Time**.
     */
    readonly type = "Input.Time";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The label of the input.
     *
     * A label should **always** be provided to ensure the best user experience especially for users of assistive technology.
     */
    label?: string;
    /**
     * Controls whether the input is required. See [Input validation](https://adaptivecards.microsoft.com/?topic=input-validation) for more details.
     */
    isRequired?: boolean;
    /**
     * The error message to display when the input fails validation. See [Input validation](https://adaptivecards.microsoft.com/?topic=input-validation) for more details.
     */
    errorMessage?: string;
    /**
     * An Action.ResetInputs action that will be executed when the value of the input changes.
     */
    valueChangedAction?: IOpenUrlDialogAction | IPopoverAction | IResetInputsAction;
    /**
     * The default value of the input, in the `HH:MM` format.
     */
    value?: string;
    /**
     * The text to display as a placeholder when the user hasn't entered a value.
     */
    placeholder?: string;
    /**
     * The minimum time that can be selected, in the `HH:MM` format.
     */
    min?: string;
    /**
     * The maximum time that can be selected, in the `HH:MM` format.
     */
    max?: string;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    constructor(options?: TimeInputOptions);
    static from(options: Omit<ITimeInput, 'type'>): TimeInput;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withSeparator(separator?: boolean): this;
    withHeight(height: ElementHeight): this;
    withSpacing(spacing: Spacing): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withIsSortKey(isSortKey?: boolean): this;
    withLabel(label: string): this;
    withIsRequired(isRequired?: boolean): this;
    withErrorMessage(errorMessage: string): this;
    withValueChangedAction(valueChangedAction: IOpenUrlDialogAction | IPopoverAction | IResetInputsAction): this;
    withValue(value: string): this;
    withPlaceholder(placeholder: string): this;
    withMin(min: string): this;
    withMax(max: string): this;
    withFallback(fallback: FallbackElement): this;
}
/**
 * An input to allow the user to enter a number.
 */
interface INumberInput {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Input.Number**.
     */
    readonly type: 'Input.Number';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The label of the input.
     *
     * A label should **always** be provided to ensure the best user experience especially for users of assistive technology.
     */
    label?: string;
    /**
     * Controls whether the input is required. See [Input validation](https://adaptivecards.microsoft.com/?topic=input-validation) for more details.
     */
    isRequired?: boolean;
    /**
     * The error message to display when the input fails validation. See [Input validation](https://adaptivecards.microsoft.com/?topic=input-validation) for more details.
     */
    errorMessage?: string;
    /**
     * An Action.ResetInputs action that will be executed when the value of the input changes.
     */
    valueChangedAction?: IOpenUrlDialogAction | IPopoverAction | IResetInputsAction;
    /**
     * The default value of the input.
     */
    value?: number;
    /**
     * The text to display as a placeholder when the user hasn't entered a value.
     */
    placeholder?: string;
    /**
     * The minimum value that can be entered.
     */
    min?: number;
    /**
     * The maximum value that can be entered.
     */
    max?: number;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type INumberInput.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of NumberInput, false otherwise.
 */
declare function isNumberInput(value: unknown): value is INumberInput;
type NumberInputOptions = Partial<Omit<INumberInput, 'type'>>;
/**
 * An input to allow the user to enter a number.
 */
declare class NumberInput implements INumberInput {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Input.Number**.
     */
    readonly type = "Input.Number";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The label of the input.
     *
     * A label should **always** be provided to ensure the best user experience especially for users of assistive technology.
     */
    label?: string;
    /**
     * Controls whether the input is required. See [Input validation](https://adaptivecards.microsoft.com/?topic=input-validation) for more details.
     */
    isRequired?: boolean;
    /**
     * The error message to display when the input fails validation. See [Input validation](https://adaptivecards.microsoft.com/?topic=input-validation) for more details.
     */
    errorMessage?: string;
    /**
     * An Action.ResetInputs action that will be executed when the value of the input changes.
     */
    valueChangedAction?: IOpenUrlDialogAction | IPopoverAction | IResetInputsAction;
    /**
     * The default value of the input.
     */
    value?: number;
    /**
     * The text to display as a placeholder when the user hasn't entered a value.
     */
    placeholder?: string;
    /**
     * The minimum value that can be entered.
     */
    min?: number;
    /**
     * The maximum value that can be entered.
     */
    max?: number;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    constructor(options?: NumberInputOptions);
    static from(options: Omit<INumberInput, 'type'>): NumberInput;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withSeparator(separator?: boolean): this;
    withHeight(height: ElementHeight): this;
    withSpacing(spacing: Spacing): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withIsSortKey(isSortKey?: boolean): this;
    withLabel(label: string): this;
    withIsRequired(isRequired?: boolean): this;
    withErrorMessage(errorMessage: string): this;
    withValueChangedAction(valueChangedAction: IOpenUrlDialogAction | IPopoverAction | IResetInputsAction): this;
    withValue(value: number): this;
    withPlaceholder(placeholder: string): this;
    withMin(min: number): this;
    withMax(max: number): this;
    withFallback(fallback: FallbackElement): this;
}
/**
 * An input to allow the user to select between on/off states.
 */
interface IToggleInput {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Input.Toggle**.
     */
    readonly type: 'Input.Toggle';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The label of the input.
     *
     * A label should **always** be provided to ensure the best user experience especially for users of assistive technology.
     */
    label?: string;
    /**
     * Controls whether the input is required. See [Input validation](https://adaptivecards.microsoft.com/?topic=input-validation) for more details.
     */
    isRequired?: boolean;
    /**
     * The error message to display when the input fails validation. See [Input validation](https://adaptivecards.microsoft.com/?topic=input-validation) for more details.
     */
    errorMessage?: string;
    /**
     * An Action.ResetInputs action that will be executed when the value of the input changes.
     */
    valueChangedAction?: IOpenUrlDialogAction | IPopoverAction | IResetInputsAction;
    /**
     * The default value of the input.
     */
    value?: string;
    /**
     * The title (caption) to display next to the toggle.
     */
    title: string;
    /**
     * The value to send to the Bot when the toggle is on.
     */
    valueOn?: string;
    /**
     * The value to send to the Bot when the toggle is off.
     */
    valueOff?: string;
    /**
     * Controls if the title should wrap.
     */
    wrap?: boolean;
    /**
     * Controls whether the title is visually displayed. When set to false, the title is hidden from view but remains accessible to screen readers for accessibility purposes.
     */
    showTitle?: boolean;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IToggleInput.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of ToggleInput, false otherwise.
 */
declare function isToggleInput(value: unknown): value is IToggleInput;
type ToggleInputOptions = Partial<Omit<IToggleInput, 'type' | 'title'>>;
/**
 * An input to allow the user to select between on/off states.
 */
declare class ToggleInput implements IToggleInput {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Input.Toggle**.
     */
    readonly type = "Input.Toggle";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The label of the input.
     *
     * A label should **always** be provided to ensure the best user experience especially for users of assistive technology.
     */
    label?: string;
    /**
     * Controls whether the input is required. See [Input validation](https://adaptivecards.microsoft.com/?topic=input-validation) for more details.
     */
    isRequired?: boolean;
    /**
     * The error message to display when the input fails validation. See [Input validation](https://adaptivecards.microsoft.com/?topic=input-validation) for more details.
     */
    errorMessage?: string;
    /**
     * An Action.ResetInputs action that will be executed when the value of the input changes.
     */
    valueChangedAction?: IOpenUrlDialogAction | IPopoverAction | IResetInputsAction;
    /**
     * The default value of the input.
     */
    value?: string;
    /**
     * The title (caption) to display next to the toggle.
     */
    title: string;
    /**
     * The value to send to the Bot when the toggle is on.
     */
    valueOn?: string;
    /**
     * The value to send to the Bot when the toggle is off.
     */
    valueOff?: string;
    /**
     * Controls if the title should wrap.
     */
    wrap?: boolean;
    /**
     * Controls whether the title is visually displayed. When set to false, the title is hidden from view but remains accessible to screen readers for accessibility purposes.
     */
    showTitle?: boolean;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    constructor(title: string, options?: ToggleInputOptions);
    static from(options: Omit<IToggleInput, 'type'>): ToggleInput;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withSeparator(separator?: boolean): this;
    withHeight(height: ElementHeight): this;
    withSpacing(spacing: Spacing): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withIsSortKey(isSortKey?: boolean): this;
    withLabel(label: string): this;
    withIsRequired(isRequired?: boolean): this;
    withErrorMessage(errorMessage: string): this;
    withValueChangedAction(valueChangedAction: IOpenUrlDialogAction | IPopoverAction | IResetInputsAction): this;
    withValue(value: string): this;
    withTitle(title: string): this;
    withValueOn(valueOn: string): this;
    withValueOff(valueOff: string): this;
    withWrap(wrap?: boolean): this;
    withShowTitle(showTitle?: boolean): this;
    withFallback(fallback: FallbackElement): this;
}
/**
 * An input to allow the user to select one or more values.
 */
interface IChoiceSetInput {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Input.ChoiceSet**.
     */
    readonly type: 'Input.ChoiceSet';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The label of the input.
     *
     * A label should **always** be provided to ensure the best user experience especially for users of assistive technology.
     */
    label?: string;
    /**
     * Controls whether the input is required. See [Input validation](https://adaptivecards.microsoft.com/?topic=input-validation) for more details.
     */
    isRequired?: boolean;
    /**
     * The error message to display when the input fails validation. See [Input validation](https://adaptivecards.microsoft.com/?topic=input-validation) for more details.
     */
    errorMessage?: string;
    /**
     * An Action.ResetInputs action that will be executed when the value of the input changes.
     */
    valueChangedAction?: IOpenUrlDialogAction | IPopoverAction | IResetInputsAction;
    /**
     * The default value of the input.
     */
    value?: string;
    /**
     * The choices associated with the input.
     */
    choices: IChoice[];
    /**
     * A Data.Query object that defines the dataset from which to dynamically fetch the choices for the input.
     */
    'choices.data'?: IQueryData;
    /**
     * Controls whether the input should be displayed as a dropdown (compact) or a list of radio buttons or checkboxes (expanded).
     */
    style?: ChoiceSetInputStyle;
    /**
     * Controls whether multiple choices can be selected.
     */
    isMultiSelect?: boolean;
    /**
     * The text to display as a placeholder when the user has not entered any value.
     */
    placeholder?: string;
    /**
     * Controls if choice titles should wrap.
     */
    wrap?: boolean;
    /**
     * Controls whether choice items are arranged in multiple columns in expanded mode, or in a single column. Default is false.
     */
    useMultipleColumns?: boolean;
    /**
     * The minimum width, in pixels, for each column when using a multi-column layout. This ensures that choice items remain readable even when horizontal space is limited. Default is 100 pixels.
     */
    minColumnWidth?: string;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IChoiceSetInput.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of ChoiceSetInput, false otherwise.
 */
declare function isChoiceSetInput(value: unknown): value is IChoiceSetInput;
type ChoiceSetInputOptions = Partial<Omit<IChoiceSetInput, 'type' | 'choices'>>;
/**
 * An input to allow the user to select one or more values.
 */
declare class ChoiceSetInput implements IChoiceSetInput {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Input.ChoiceSet**.
     */
    readonly type = "Input.ChoiceSet";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The label of the input.
     *
     * A label should **always** be provided to ensure the best user experience especially for users of assistive technology.
     */
    label?: string;
    /**
     * Controls whether the input is required. See [Input validation](https://adaptivecards.microsoft.com/?topic=input-validation) for more details.
     */
    isRequired?: boolean;
    /**
     * The error message to display when the input fails validation. See [Input validation](https://adaptivecards.microsoft.com/?topic=input-validation) for more details.
     */
    errorMessage?: string;
    /**
     * An Action.ResetInputs action that will be executed when the value of the input changes.
     */
    valueChangedAction?: IOpenUrlDialogAction | IPopoverAction | IResetInputsAction;
    /**
     * The default value of the input.
     */
    value?: string;
    /**
     * The choices associated with the input.
     */
    choices: IChoice[];
    /**
     * A Data.Query object that defines the dataset from which to dynamically fetch the choices for the input.
     */
    'choices.data'?: IQueryData;
    /**
     * Controls whether the input should be displayed as a dropdown (compact) or a list of radio buttons or checkboxes (expanded).
     */
    style?: ChoiceSetInputStyle;
    /**
     * Controls whether multiple choices can be selected.
     */
    isMultiSelect?: boolean;
    /**
     * The text to display as a placeholder when the user has not entered any value.
     */
    placeholder?: string;
    /**
     * Controls if choice titles should wrap.
     */
    wrap?: boolean;
    /**
     * Controls whether choice items are arranged in multiple columns in expanded mode, or in a single column. Default is false.
     */
    useMultipleColumns?: boolean;
    /**
     * The minimum width, in pixels, for each column when using a multi-column layout. This ensures that choice items remain readable even when horizontal space is limited. Default is 100 pixels.
     */
    minColumnWidth?: string;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    constructor(...choices: IChoice[]);
    withOptions(value: ChoiceSetInputOptions): this;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withSeparator(separator?: boolean): this;
    withHeight(height: ElementHeight): this;
    withSpacing(spacing: Spacing): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withIsSortKey(isSortKey?: boolean): this;
    withLabel(label: string): this;
    withIsRequired(isRequired?: boolean): this;
    withErrorMessage(errorMessage: string): this;
    withValueChangedAction(valueChangedAction: IOpenUrlDialogAction | IPopoverAction | IResetInputsAction): this;
    withValue(value: string): this;
    withChoices(...choices: IChoice[]): this;
    withStyle(style: ChoiceSetInputStyle): this;
    withIsMultiSelect(isMultiSelect?: boolean): this;
    withPlaceholder(placeholder: string): this;
    withWrap(wrap?: boolean): this;
    withUseMultipleColumns(useMultipleColumns?: boolean): this;
    withMinColumnWidth(minColumnWidth: string): this;
    withFallback(fallback: FallbackElement): this;
}
/**
 * A choice as used by the Input.ChoiceSet input.
 */
interface IChoice {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The text to display for the choice.
     */
    title?: string;
    /**
     * The value associated with the choice, as sent to the Bot when an Action.Submit or Action.Execute is invoked
     */
    value?: string;
}
type ChoiceOptions = Partial<IChoice>;
/**
 * A choice as used by the Input.ChoiceSet input.
 */
declare class Choice implements IChoice {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The text to display for the choice.
     */
    title?: string;
    /**
     * The value associated with the choice, as sent to the Bot when an Action.Submit or Action.Execute is invoked
     */
    value?: string;
    constructor(options?: ChoiceOptions);
    static from(options: IChoice): Choice;
    withKey(key: string): this;
    withTitle(title: string): this;
    withValue(value: string): this;
}
/**
 * Defines a query to dynamically fetch data from a Bot.
 */
interface IQueryData {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Data.Query**.
     */
    readonly type: 'Data.Query';
    /**
     * The dataset from which to fetch the data.
     */
    dataset?: string;
    /**
     * Controls which inputs are associated with the Data.Query. When a Data.Query is executed, the values of the associated inputs are sent to the Bot, allowing it to perform filtering operations based on the user's input.
     */
    associatedInputs?: AssociatedInputs;
    /**
     * The maximum number of data items that should be returned by the query. Card authors should not specify this property in their card payload. It is determined by the client and sent to the Bot to enable pagination.
     */
    count?: number;
    /**
     * The number of data items to be skipped by the query. Card authors should not specify this property in their card payload. It is determined by the client and sent to the Bot to enable pagination.
     */
    skip?: number;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IQueryData.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of QueryData, false otherwise.
 */
declare function isQueryData(value: unknown): value is IQueryData;
type QueryDataOptions = Partial<Omit<IQueryData, 'type'>>;
/**
 * Defines a query to dynamically fetch data from a Bot.
 */
declare class QueryData implements IQueryData {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Data.Query**.
     */
    readonly type = "Data.Query";
    /**
     * The dataset from which to fetch the data.
     */
    dataset?: string;
    /**
     * Controls which inputs are associated with the Data.Query. When a Data.Query is executed, the values of the associated inputs are sent to the Bot, allowing it to perform filtering operations based on the user's input.
     */
    associatedInputs?: AssociatedInputs;
    /**
     * The maximum number of data items that should be returned by the query. Card authors should not specify this property in their card payload. It is determined by the client and sent to the Bot to enable pagination.
     */
    count?: number;
    /**
     * The number of data items to be skipped by the query. Card authors should not specify this property in their card payload. It is determined by the client and sent to the Bot to enable pagination.
     */
    skip?: number;
    constructor(options?: QueryDataOptions);
    static from(options: Omit<IQueryData, 'type'>): QueryData;
    withKey(key: string): this;
    withDataset(dataset: string): this;
    withAssociatedInputs(associatedInputs: AssociatedInputs): this;
    withCount(count: number): this;
    withSkip(skip: number): this;
}
/**
 * An input to allow the user to rate something using stars.
 */
interface IRatingInput {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Input.Rating**.
     */
    readonly type: 'Input.Rating';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The label of the input.
     *
     * A label should **always** be provided to ensure the best user experience especially for users of assistive technology.
     */
    label?: string;
    /**
     * Controls whether the input is required. See [Input validation](https://adaptivecards.microsoft.com/?topic=input-validation) for more details.
     */
    isRequired?: boolean;
    /**
     * The error message to display when the input fails validation. See [Input validation](https://adaptivecards.microsoft.com/?topic=input-validation) for more details.
     */
    errorMessage?: string;
    /**
     * An Action.ResetInputs action that will be executed when the value of the input changes.
     */
    valueChangedAction?: IOpenUrlDialogAction | IPopoverAction | IResetInputsAction;
    /**
     * The default value of the input.
     */
    value?: number;
    /**
     * The number of stars to display.
     */
    max?: number;
    /**
     * Controls if the user can select half stars.
     */
    allowHalfSteps?: boolean;
    /**
     * The size of the stars.
     */
    size?: RatingSize;
    /**
     * The color of the stars.
     */
    color?: RatingColor;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IRatingInput.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of RatingInput, false otherwise.
 */
declare function isRatingInput(value: unknown): value is IRatingInput;
type RatingInputOptions = Partial<Omit<IRatingInput, 'type'>>;
/**
 * An input to allow the user to rate something using stars.
 */
declare class RatingInput implements IRatingInput {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Input.Rating**.
     */
    readonly type = "Input.Rating";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The label of the input.
     *
     * A label should **always** be provided to ensure the best user experience especially for users of assistive technology.
     */
    label?: string;
    /**
     * Controls whether the input is required. See [Input validation](https://adaptivecards.microsoft.com/?topic=input-validation) for more details.
     */
    isRequired?: boolean;
    /**
     * The error message to display when the input fails validation. See [Input validation](https://adaptivecards.microsoft.com/?topic=input-validation) for more details.
     */
    errorMessage?: string;
    /**
     * An Action.ResetInputs action that will be executed when the value of the input changes.
     */
    valueChangedAction?: IOpenUrlDialogAction | IPopoverAction | IResetInputsAction;
    /**
     * The default value of the input.
     */
    value?: number;
    /**
     * The number of stars to display.
     */
    max?: number;
    /**
     * Controls if the user can select half stars.
     */
    allowHalfSteps?: boolean;
    /**
     * The size of the stars.
     */
    size?: RatingSize;
    /**
     * The color of the stars.
     */
    color?: RatingColor;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    constructor(options?: RatingInputOptions);
    static from(options: Omit<IRatingInput, 'type'>): RatingInput;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withSeparator(separator?: boolean): this;
    withHeight(height: ElementHeight): this;
    withSpacing(spacing: Spacing): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withIsSortKey(isSortKey?: boolean): this;
    withLabel(label: string): this;
    withIsRequired(isRequired?: boolean): this;
    withErrorMessage(errorMessage: string): this;
    withValueChangedAction(valueChangedAction: IOpenUrlDialogAction | IPopoverAction | IResetInputsAction): this;
    withValue(value: number): this;
    withMax(max: number): this;
    withAllowHalfSteps(allowHalfSteps?: boolean): this;
    withSize(size: RatingSize): this;
    withColor(color: RatingColor): this;
    withFallback(fallback: FallbackElement): this;
}
/**
 * A read-only star rating element, to display the rating of something.
 */
interface IRating {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Rating**.
     */
    readonly type: 'Rating';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The value of the rating. Must be between 0 and max.
     */
    value?: number;
    /**
     * The number of "votes" associated with the rating.
     */
    count?: number;
    /**
     * The number of stars to display.
     */
    max?: number;
    /**
     * The size of the stars.
     */
    size?: RatingSize;
    /**
     * The color of the stars.
     */
    color?: RatingColor;
    /**
     * The style of the stars.
     */
    style?: RatingStyle;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IRating.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of Rating, false otherwise.
 */
declare function isRating(value: unknown): value is IRating;
type RatingOptions = Partial<Omit<IRating, 'type'>>;
/**
 * A read-only star rating element, to display the rating of something.
 */
declare class Rating implements IRating {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Rating**.
     */
    readonly type = "Rating";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The value of the rating. Must be between 0 and max.
     */
    value?: number;
    /**
     * The number of "votes" associated with the rating.
     */
    count?: number;
    /**
     * The number of stars to display.
     */
    max?: number;
    /**
     * The size of the stars.
     */
    size?: RatingSize;
    /**
     * The color of the stars.
     */
    color?: RatingColor;
    /**
     * The style of the stars.
     */
    style?: RatingStyle;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    constructor(options?: RatingOptions);
    static from(options: Omit<IRating, 'type'>): Rating;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withSeparator(separator?: boolean): this;
    withHeight(height: ElementHeight): this;
    withHorizontalAlignment(horizontalAlignment: HorizontalAlignment): this;
    withSpacing(spacing: Spacing): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withIsSortKey(isSortKey?: boolean): this;
    withValue(value: number): this;
    withCount(count: number): this;
    withMax(max: number): this;
    withSize(size: RatingSize): this;
    withColor(color: RatingColor): this;
    withStyle(style: RatingStyle): this;
    withFallback(fallback: FallbackElement): this;
}
/**
 * A special type of button with an icon, title and description.
 */
interface ICompoundButton {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **CompoundButton**.
     */
    readonly type: 'CompoundButton';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The icon to show on the button.
     */
    icon?: IIconInfo;
    /**
     * The badge to show on the button.
     */
    badge?: string;
    /**
     * The title of the button.
     */
    title?: string;
    /**
     * The description text of the button.
     */
    description?: string;
    /**
     * An Action that will be invoked when the button is tapped or clicked. Action.ShowCard is not supported.
     */
    selectAction?: IExecuteAction | IInsertImageAction | IOpenUrlAction | IOpenUrlDialogAction | IPopoverAction | IResetInputsAction | ISubmitAction | IToggleVisibilityAction;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type ICompoundButton.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of CompoundButton, false otherwise.
 */
declare function isCompoundButton(value: unknown): value is ICompoundButton;
type CompoundButtonOptions = Partial<Omit<ICompoundButton, 'type'>>;
/**
 * A special type of button with an icon, title and description.
 */
declare class CompoundButton implements ICompoundButton {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **CompoundButton**.
     */
    readonly type = "CompoundButton";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The icon to show on the button.
     */
    icon?: IIconInfo;
    /**
     * The badge to show on the button.
     */
    badge?: string;
    /**
     * The title of the button.
     */
    title?: string;
    /**
     * The description text of the button.
     */
    description?: string;
    /**
     * An Action that will be invoked when the button is tapped or clicked. Action.ShowCard is not supported.
     */
    selectAction?: IExecuteAction | IInsertImageAction | IOpenUrlAction | IOpenUrlDialogAction | IPopoverAction | IResetInputsAction | ISubmitAction | IToggleVisibilityAction;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    constructor(options?: CompoundButtonOptions);
    static from(options: Omit<ICompoundButton, 'type'>): CompoundButton;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withSeparator(separator?: boolean): this;
    withHeight(height: ElementHeight): this;
    withHorizontalAlignment(horizontalAlignment: HorizontalAlignment): this;
    withSpacing(spacing: Spacing): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withIsSortKey(isSortKey?: boolean): this;
    withIcon(icon: IIconInfo): this;
    withBadge(badge: string): this;
    withTitle(title: string): this;
    withDescription(description: string): this;
    withSelectAction(selectAction: IExecuteAction | IInsertImageAction | IOpenUrlAction | IOpenUrlDialogAction | IPopoverAction | IResetInputsAction | ISubmitAction | IToggleVisibilityAction): this;
    withFallback(fallback: FallbackElement): this;
}
/**
 * Defines information about a Fluent icon and how it should be rendered.
 */
interface IIconInfo {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The name of the icon to display.
     */
    name?: string;
    /**
     * The size of the icon.
     */
    size?: IconSize;
    /**
     * The style of the icon.
     */
    style?: IconStyle;
    /**
     * The color of the icon.
     */
    color?: TextColor;
}
type IconInfoOptions = Partial<IIconInfo>;
/**
 * Defines information about a Fluent icon and how it should be rendered.
 */
declare class IconInfo implements IIconInfo {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The name of the icon to display.
     */
    name?: string;
    /**
     * The size of the icon.
     */
    size?: IconSize;
    /**
     * The style of the icon.
     */
    style?: IconStyle;
    /**
     * The color of the icon.
     */
    color?: TextColor;
    constructor(options?: IconInfoOptions);
    static from(options: IIconInfo): IconInfo;
    withKey(key: string): this;
    withName(name: string): this;
    withSize(size: IconSize): this;
    withStyle(style: IconStyle): this;
    withColor(color: TextColor): this;
}
/**
 * A standalone icon element. Icons can be picked from the vast [Adaptive Card icon catalog](https://adaptivecards.microsoft.com/?topic=icon-catalog).
 */
interface IIcon {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Icon**.
     */
    readonly type: 'Icon';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The name of the icon to display.
     */
    name: string;
    /**
     * The size of the icon.
     */
    size?: IconSize;
    /**
     * The style of the icon.
     */
    style?: IconStyle;
    /**
     * The color of the icon.
     */
    color?: TextColor;
    /**
     * An Action that will be invoked when the icon is tapped or clicked. Action.ShowCard is not supported.
     */
    selectAction?: IExecuteAction | IInsertImageAction | IOpenUrlAction | IOpenUrlDialogAction | IPopoverAction | IResetInputsAction | ISubmitAction | IToggleVisibilityAction;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IIcon.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of Icon, false otherwise.
 */
declare function isIcon(value: unknown): value is IIcon;
type IconOptions = Partial<Omit<IIcon, 'type' | 'name'>>;
/**
 * A standalone icon element. Icons can be picked from the vast [Adaptive Card icon catalog](https://adaptivecards.microsoft.com/?topic=icon-catalog).
 */
declare class Icon implements IIcon {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Icon**.
     */
    readonly type = "Icon";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The name of the icon to display.
     */
    name: string;
    /**
     * The size of the icon.
     */
    size?: IconSize;
    /**
     * The style of the icon.
     */
    style?: IconStyle;
    /**
     * The color of the icon.
     */
    color?: TextColor;
    /**
     * An Action that will be invoked when the icon is tapped or clicked. Action.ShowCard is not supported.
     */
    selectAction?: IExecuteAction | IInsertImageAction | IOpenUrlAction | IOpenUrlDialogAction | IPopoverAction | IResetInputsAction | ISubmitAction | IToggleVisibilityAction;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    constructor(name: string, options?: IconOptions);
    static from(options: Omit<IIcon, 'type'>): Icon;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withSeparator(separator?: boolean): this;
    withHorizontalAlignment(horizontalAlignment: HorizontalAlignment): this;
    withSpacing(spacing: Spacing): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withIsSortKey(isSortKey?: boolean): this;
    withName(name: string): this;
    withSize(size: IconSize): this;
    withStyle(style: IconStyle): this;
    withColor(color: TextColor): this;
    withSelectAction(selectAction: IExecuteAction | IInsertImageAction | IOpenUrlAction | IOpenUrlDialogAction | IPopoverAction | IResetInputsAction | ISubmitAction | IToggleVisibilityAction): this;
    withFallback(fallback: FallbackElement): this;
}
/**
 * A carousel with sliding pages.
 */
interface ICarousel {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Carousel**.
     */
    readonly type: 'Carousel';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * Controls if the container should bleed into its parent. A bleeding container extends into its parent's padding.
     */
    bleed?: boolean;
    /**
     * The minimum height, in pixels, of the container, in the `<number>px` format.
     */
    minHeight?: string;
    /**
     * Controls the type of animation to use to navigate between pages.
     */
    pageAnimation?: CarouselPageAnimation;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    /**
     * The pages in the carousel.
     */
    pages?: ICarouselPage[];
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type ICarousel.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of Carousel, false otherwise.
 */
declare function isCarousel(value: unknown): value is ICarousel;
type CarouselOptions = Partial<Omit<ICarousel, 'type'>>;
/**
 * A carousel with sliding pages.
 */
declare class Carousel implements ICarousel {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Carousel**.
     */
    readonly type = "Carousel";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * Controls if the container should bleed into its parent. A bleeding container extends into its parent's padding.
     */
    bleed?: boolean;
    /**
     * The minimum height, in pixels, of the container, in the `<number>px` format.
     */
    minHeight?: string;
    /**
     * Controls the type of animation to use to navigate between pages.
     */
    pageAnimation?: CarouselPageAnimation;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    /**
     * The pages in the carousel.
     */
    pages?: ICarouselPage[];
    constructor(options?: CarouselOptions);
    static from(options: Omit<ICarousel, 'type'>): Carousel;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withSeparator(separator?: boolean): this;
    withHeight(height: ElementHeight): this;
    withSpacing(spacing: Spacing): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withIsSortKey(isSortKey?: boolean): this;
    withBleed(bleed?: boolean): this;
    withMinHeight(minHeight: string): this;
    withPageAnimation(pageAnimation: CarouselPageAnimation): this;
    withFallback(fallback: FallbackElement): this;
    withPages(...pages: ICarouselPage[]): this;
}
/**
 * A badge element to show an icon and/or text in a compact form over a colored background.
 */
interface IBadge {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Badge**.
     */
    readonly type: 'Badge';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The text to display.
     */
    text?: string;
    /**
     * The name of an icon from the [Adaptive Card icon catalog](https://adaptivecards.microsoft.com/?topic=icon-catalog) to display, in the `<icon-name>[,regular|filled]` format. If the style is not specified, the regular style is used.
     */
    icon?: string;
    /**
     * Controls the position of the icon.
     */
    iconPosition?: BadgeIconPosition;
    /**
     * Controls the strength of the background color.
     */
    appearance?: BadgeAppearance;
    /**
     * The size of the badge.
     */
    size?: BadgeSize;
    /**
     * Controls the shape of the badge.
     */
    shape?: BadgeShape;
    /**
     * The style of the badge.
     */
    style?: BadgeStyle;
    /**
     * Controls the tooltip text to display when the badge is hovered over.
     */
    tooltip?: string;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IBadge.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of Badge, false otherwise.
 */
declare function isBadge(value: unknown): value is IBadge;
type BadgeOptions = Partial<Omit<IBadge, 'type'>>;
/**
 * A badge element to show an icon and/or text in a compact form over a colored background.
 */
declare class Badge implements IBadge {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Badge**.
     */
    readonly type = "Badge";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The text to display.
     */
    text?: string;
    /**
     * The name of an icon from the [Adaptive Card icon catalog](https://adaptivecards.microsoft.com/?topic=icon-catalog) to display, in the `<icon-name>[,regular|filled]` format. If the style is not specified, the regular style is used.
     */
    icon?: string;
    /**
     * Controls the position of the icon.
     */
    iconPosition?: BadgeIconPosition;
    /**
     * Controls the strength of the background color.
     */
    appearance?: BadgeAppearance;
    /**
     * The size of the badge.
     */
    size?: BadgeSize;
    /**
     * Controls the shape of the badge.
     */
    shape?: BadgeShape;
    /**
     * The style of the badge.
     */
    style?: BadgeStyle;
    /**
     * Controls the tooltip text to display when the badge is hovered over.
     */
    tooltip?: string;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    constructor(options?: BadgeOptions);
    static from(options: Omit<IBadge, 'type'>): Badge;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withSeparator(separator?: boolean): this;
    withHeight(height: ElementHeight): this;
    withHorizontalAlignment(horizontalAlignment: HorizontalAlignment): this;
    withSpacing(spacing: Spacing): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withIsSortKey(isSortKey?: boolean): this;
    withText(text: string): this;
    withIcon(icon: string): this;
    withIconPosition(iconPosition: BadgeIconPosition): this;
    withAppearance(appearance: BadgeAppearance): this;
    withSize(size: BadgeSize): this;
    withShape(shape: BadgeShape): this;
    withStyle(style: BadgeStyle): this;
    withTooltip(tooltip: string): this;
    withFallback(fallback: FallbackElement): this;
}
/**
 * A spinning ring element, to indicate progress.
 */
interface IProgressRing {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **ProgressRing**.
     */
    readonly type: 'ProgressRing';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The label of the progress ring.
     */
    label?: string;
    /**
     * Controls the relative position of the label to the progress ring.
     */
    labelPosition?: ProgressRingLabelPosition;
    /**
     * The size of the progress ring.
     */
    size?: ProgressRingSize;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IProgressRing.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of ProgressRing, false otherwise.
 */
declare function isProgressRing(value: unknown): value is IProgressRing;
type ProgressRingOptions = Partial<Omit<IProgressRing, 'type'>>;
/**
 * A spinning ring element, to indicate progress.
 */
declare class ProgressRing implements IProgressRing {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **ProgressRing**.
     */
    readonly type = "ProgressRing";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The label of the progress ring.
     */
    label?: string;
    /**
     * Controls the relative position of the label to the progress ring.
     */
    labelPosition?: ProgressRingLabelPosition;
    /**
     * The size of the progress ring.
     */
    size?: ProgressRingSize;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    constructor(options?: ProgressRingOptions);
    static from(options: Omit<IProgressRing, 'type'>): ProgressRing;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withSeparator(separator?: boolean): this;
    withHeight(height: ElementHeight): this;
    withHorizontalAlignment(horizontalAlignment: HorizontalAlignment): this;
    withSpacing(spacing: Spacing): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withIsSortKey(isSortKey?: boolean): this;
    withLabel(label: string): this;
    withLabelPosition(labelPosition: ProgressRingLabelPosition): this;
    withSize(size: ProgressRingSize): this;
    withFallback(fallback: FallbackElement): this;
}
/**
 * A progress bar element, to represent a value within a range.
 */
interface IProgressBar {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **ProgressBar**.
     */
    readonly type: 'ProgressBar';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The value of the progress bar. Must be between 0 and max.
     */
    value?: number;
    /**
     * The maximum value of the progress bar.
     */
    max?: number;
    /**
     * The color of the progress bar. `color` has no effect when the `ProgressBar` is in indeterminate mode, in which case the "accent" color is always used.
     */
    color?: ProgressBarColor;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IProgressBar.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of ProgressBar, false otherwise.
 */
declare function isProgressBar(value: unknown): value is IProgressBar;
type ProgressBarOptions = Partial<Omit<IProgressBar, 'type'>>;
/**
 * A progress bar element, to represent a value within a range.
 */
declare class ProgressBar implements IProgressBar {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **ProgressBar**.
     */
    readonly type = "ProgressBar";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The value of the progress bar. Must be between 0 and max.
     */
    value?: number;
    /**
     * The maximum value of the progress bar.
     */
    max?: number;
    /**
     * The color of the progress bar. `color` has no effect when the `ProgressBar` is in indeterminate mode, in which case the "accent" color is always used.
     */
    color?: ProgressBarColor;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    constructor(options?: ProgressBarOptions);
    static from(options: Omit<IProgressBar, 'type'>): ProgressBar;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withSeparator(separator?: boolean): this;
    withHeight(height: ElementHeight): this;
    withHorizontalAlignment(horizontalAlignment: HorizontalAlignment): this;
    withSpacing(spacing: Spacing): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withIsSortKey(isSortKey?: boolean): this;
    withValue(value: number): this;
    withMax(max: number): this;
    withColor(color: ProgressBarColor): this;
    withFallback(fallback: FallbackElement): this;
}
/**
 * A donut chart.
 */
interface IDonutChart {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Chart.Donut**.
     */
    readonly type: 'Chart.Donut';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The title of the chart.
     */
    title?: string;
    /**
     * Controls whether the chart's title should be displayed. Defaults to `false`.
     */
    showTitle?: boolean;
    /**
     * The name of the set of colors to use to render the chart. See [Chart colors reference](https://adaptivecards.microsoft.com/?topic=chart-colors-reference).
     */
    colorSet?: ChartColorSet;
    /**
     * The maximum width, in pixels, of the chart, in the `<number>px` format.
     */
    maxWidth?: string;
    /**
     * Controls whether the chart's legend should be displayed.
     */
    showLegend?: boolean;
    /**
     * The data to display in the chart.
     */
    data?: IDonutChartData[];
    /**
     * The value that should be displayed in the center of a Donut chart. `value` is ignored for Pie charts.
     */
    value?: string;
    /**
     * Controls the color of the value displayed in the center of a Donut chart.
     */
    valueColor?: ChartColor;
    /**
     * Controls the thickness of the donut segments. Default is **Thick**.
     */
    thickness?: DonutThickness;
    /**
     * Controls whether the outlines of the donut segments are displayed.
     */
    showOutlines?: boolean;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IDonutChart.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of DonutChart, false otherwise.
 */
declare function isDonutChart(value: unknown): value is IDonutChart;
type DonutChartOptions = Partial<Omit<IDonutChart, 'type'>>;
/**
 * A donut chart.
 */
declare class DonutChart implements IDonutChart {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Chart.Donut**.
     */
    readonly type = "Chart.Donut";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The title of the chart.
     */
    title?: string;
    /**
     * Controls whether the chart's title should be displayed. Defaults to `false`.
     */
    showTitle?: boolean;
    /**
     * The name of the set of colors to use to render the chart. See [Chart colors reference](https://adaptivecards.microsoft.com/?topic=chart-colors-reference).
     */
    colorSet?: ChartColorSet;
    /**
     * The maximum width, in pixels, of the chart, in the `<number>px` format.
     */
    maxWidth?: string;
    /**
     * Controls whether the chart's legend should be displayed.
     */
    showLegend?: boolean;
    /**
     * The data to display in the chart.
     */
    data?: IDonutChartData[];
    /**
     * The value that should be displayed in the center of a Donut chart. `value` is ignored for Pie charts.
     */
    value?: string;
    /**
     * Controls the color of the value displayed in the center of a Donut chart.
     */
    valueColor?: ChartColor;
    /**
     * Controls the thickness of the donut segments. Default is **Thick**.
     */
    thickness?: DonutThickness;
    /**
     * Controls whether the outlines of the donut segments are displayed.
     */
    showOutlines?: boolean;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    constructor(options?: DonutChartOptions);
    static from(options: Omit<IDonutChart, 'type'>): DonutChart;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withSeparator(separator?: boolean): this;
    withHeight(height: ElementHeight): this;
    withHorizontalAlignment(horizontalAlignment: HorizontalAlignment): this;
    withSpacing(spacing: Spacing): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withIsSortKey(isSortKey?: boolean): this;
    withTitle(title: string): this;
    withShowTitle(showTitle?: boolean): this;
    withColorSet(colorSet: ChartColorSet): this;
    withMaxWidth(maxWidth: string): this;
    withShowLegend(showLegend?: boolean): this;
    withData(...data: IDonutChartData[]): this;
    withValue(value: string): this;
    withValueColor(valueColor: ChartColor): this;
    withThickness(thickness: DonutThickness): this;
    withShowOutlines(showOutlines?: boolean): this;
    withFallback(fallback: FallbackElement): this;
}
/**
 * A data point in a Donut chart.
 */
interface IDonutChartData {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The legend of the chart.
     */
    legend?: string;
    /**
     * The value associated with the data point.
     */
    value?: number;
    /**
     * The color to use for the data point. See [Chart colors reference](https://adaptivecards.microsoft.com/?topic=chart-colors-reference).
     */
    color?: ChartColor;
}
type DonutChartDataOptions = Partial<IDonutChartData>;
/**
 * A data point in a Donut chart.
 */
declare class DonutChartData implements IDonutChartData {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The legend of the chart.
     */
    legend?: string;
    /**
     * The value associated with the data point.
     */
    value?: number;
    /**
     * The color to use for the data point. See [Chart colors reference](https://adaptivecards.microsoft.com/?topic=chart-colors-reference).
     */
    color?: ChartColor;
    constructor(options?: DonutChartDataOptions);
    static from(options: IDonutChartData): DonutChartData;
    withKey(key: string): this;
    withLegend(legend: string): this;
    withValue(value: number): this;
    withColor(color: ChartColor): this;
}
/**
 * A pie chart.
 */
interface IPieChart {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Chart.Pie**.
     */
    readonly type: 'Chart.Pie';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The title of the chart.
     */
    title?: string;
    /**
     * Controls whether the chart's title should be displayed. Defaults to `false`.
     */
    showTitle?: boolean;
    /**
     * The name of the set of colors to use to render the chart. See [Chart colors reference](https://adaptivecards.microsoft.com/?topic=chart-colors-reference).
     */
    colorSet?: ChartColorSet;
    /**
     * The maximum width, in pixels, of the chart, in the `<number>px` format.
     */
    maxWidth?: string;
    /**
     * Controls whether the chart's legend should be displayed.
     */
    showLegend?: boolean;
    /**
     * The data to display in the chart.
     */
    data?: IDonutChartData[];
    /**
     * The value that should be displayed in the center of a Donut chart. `value` is ignored for Pie charts.
     */
    value?: string;
    /**
     * Controls the color of the value displayed in the center of a Donut chart.
     */
    valueColor?: ChartColor;
    /**
     * Controls the thickness of the donut segments. Default is **Thick**.
     */
    thickness?: DonutThickness;
    /**
     * Controls whether the outlines of the donut segments are displayed.
     */
    showOutlines?: boolean;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IPieChart.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of PieChart, false otherwise.
 */
declare function isPieChart(value: unknown): value is IPieChart;
type PieChartOptions = Partial<Omit<IPieChart, 'type'>>;
/**
 * A pie chart.
 */
declare class PieChart implements IPieChart {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Chart.Pie**.
     */
    readonly type = "Chart.Pie";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The title of the chart.
     */
    title?: string;
    /**
     * Controls whether the chart's title should be displayed. Defaults to `false`.
     */
    showTitle?: boolean;
    /**
     * The name of the set of colors to use to render the chart. See [Chart colors reference](https://adaptivecards.microsoft.com/?topic=chart-colors-reference).
     */
    colorSet?: ChartColorSet;
    /**
     * The maximum width, in pixels, of the chart, in the `<number>px` format.
     */
    maxWidth?: string;
    /**
     * Controls whether the chart's legend should be displayed.
     */
    showLegend?: boolean;
    /**
     * The data to display in the chart.
     */
    data?: IDonutChartData[];
    /**
     * The value that should be displayed in the center of a Donut chart. `value` is ignored for Pie charts.
     */
    value?: string;
    /**
     * Controls the color of the value displayed in the center of a Donut chart.
     */
    valueColor?: ChartColor;
    /**
     * Controls the thickness of the donut segments. Default is **Thick**.
     */
    thickness?: DonutThickness;
    /**
     * Controls whether the outlines of the donut segments are displayed.
     */
    showOutlines?: boolean;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    constructor(options?: PieChartOptions);
    static from(options: Omit<IPieChart, 'type'>): PieChart;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withSeparator(separator?: boolean): this;
    withHeight(height: ElementHeight): this;
    withHorizontalAlignment(horizontalAlignment: HorizontalAlignment): this;
    withSpacing(spacing: Spacing): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withIsSortKey(isSortKey?: boolean): this;
    withTitle(title: string): this;
    withShowTitle(showTitle?: boolean): this;
    withColorSet(colorSet: ChartColorSet): this;
    withMaxWidth(maxWidth: string): this;
    withShowLegend(showLegend?: boolean): this;
    withData(...data: IDonutChartData[]): this;
    withValue(value: string): this;
    withValueColor(valueColor: ChartColor): this;
    withThickness(thickness: DonutThickness): this;
    withShowOutlines(showOutlines?: boolean): this;
    withFallback(fallback: FallbackElement): this;
}
/**
 * A grouped vertical bar chart.
 */
interface IGroupedVerticalBarChart {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Chart.VerticalBar.Grouped**.
     */
    readonly type: 'Chart.VerticalBar.Grouped';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The title of the chart.
     */
    title?: string;
    /**
     * Controls whether the chart's title should be displayed. Defaults to `false`.
     */
    showTitle?: boolean;
    /**
     * The name of the set of colors to use to render the chart. See [Chart colors reference](https://adaptivecards.microsoft.com/?topic=chart-colors-reference).
     */
    colorSet?: ChartColorSet;
    /**
     * The maximum width, in pixels, of the chart, in the `<number>px` format.
     */
    maxWidth?: string;
    /**
     * Controls whether the chart's legend should be displayed.
     */
    showLegend?: boolean;
    /**
     * The title of the x axis.
     */
    xAxisTitle?: string;
    /**
     * The title of the y axis.
     */
    yAxisTitle?: string;
    /**
     * The color to use for all data points. See [Chart colors reference](https://adaptivecards.microsoft.com/?topic=chart-colors-reference).
     */
    color?: ChartColor;
    /**
     * Controls if bars in the chart should  be displayed as stacks instead of groups.
     *
     * **Note:** stacked vertical bar charts do not support custom Y ranges nor negative Y values.
     */
    stacked?: boolean;
    /**
     * The data points in a series.
     */
    data?: IGroupedVerticalBarChartData[];
    /**
     * Controls if values should be displayed on each bar.
     */
    showBarValues?: boolean;
    /**
     * The requested minimum for the Y axis range. The value used at runtime may be different to optimize visual presentation.
     *
     * `yMin` is ignored if `stacked` is set to `true`.
     */
    yMin?: number;
    /**
     * The requested maximum for the Y axis range. The value used at runtime may be different to optimize visual presentation.
     *
     * `yMax` is ignored if `stacked` is set to `true`.
     */
    yMax?: number;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IGroupedVerticalBarChart.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of GroupedVerticalBarChart, false otherwise.
 */
declare function isGroupedVerticalBarChart(value: unknown): value is IGroupedVerticalBarChart;
type GroupedVerticalBarChartOptions = Partial<Omit<IGroupedVerticalBarChart, 'type'>>;
/**
 * A grouped vertical bar chart.
 */
declare class GroupedVerticalBarChart implements IGroupedVerticalBarChart {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Chart.VerticalBar.Grouped**.
     */
    readonly type = "Chart.VerticalBar.Grouped";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The title of the chart.
     */
    title?: string;
    /**
     * Controls whether the chart's title should be displayed. Defaults to `false`.
     */
    showTitle?: boolean;
    /**
     * The name of the set of colors to use to render the chart. See [Chart colors reference](https://adaptivecards.microsoft.com/?topic=chart-colors-reference).
     */
    colorSet?: ChartColorSet;
    /**
     * The maximum width, in pixels, of the chart, in the `<number>px` format.
     */
    maxWidth?: string;
    /**
     * Controls whether the chart's legend should be displayed.
     */
    showLegend?: boolean;
    /**
     * The title of the x axis.
     */
    xAxisTitle?: string;
    /**
     * The title of the y axis.
     */
    yAxisTitle?: string;
    /**
     * The color to use for all data points. See [Chart colors reference](https://adaptivecards.microsoft.com/?topic=chart-colors-reference).
     */
    color?: ChartColor;
    /**
     * Controls if bars in the chart should  be displayed as stacks instead of groups.
     *
     * **Note:** stacked vertical bar charts do not support custom Y ranges nor negative Y values.
     */
    stacked?: boolean;
    /**
     * The data points in a series.
     */
    data?: IGroupedVerticalBarChartData[];
    /**
     * Controls if values should be displayed on each bar.
     */
    showBarValues?: boolean;
    /**
     * The requested minimum for the Y axis range. The value used at runtime may be different to optimize visual presentation.
     *
     * `yMin` is ignored if `stacked` is set to `true`.
     */
    yMin?: number;
    /**
     * The requested maximum for the Y axis range. The value used at runtime may be different to optimize visual presentation.
     *
     * `yMax` is ignored if `stacked` is set to `true`.
     */
    yMax?: number;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    constructor(options?: GroupedVerticalBarChartOptions);
    static from(options: Omit<IGroupedVerticalBarChart, 'type'>): GroupedVerticalBarChart;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withSeparator(separator?: boolean): this;
    withHeight(height: ElementHeight): this;
    withHorizontalAlignment(horizontalAlignment: HorizontalAlignment): this;
    withSpacing(spacing: Spacing): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withIsSortKey(isSortKey?: boolean): this;
    withTitle(title: string): this;
    withShowTitle(showTitle?: boolean): this;
    withColorSet(colorSet: ChartColorSet): this;
    withMaxWidth(maxWidth: string): this;
    withShowLegend(showLegend?: boolean): this;
    withXAxisTitle(xAxisTitle: string): this;
    withYAxisTitle(yAxisTitle: string): this;
    withColor(color: ChartColor): this;
    withStacked(stacked?: boolean): this;
    withData(...data: IGroupedVerticalBarChartData[]): this;
    withShowBarValues(showBarValues?: boolean): this;
    withYMin(yMin: number): this;
    withYMax(yMax: number): this;
    withFallback(fallback: FallbackElement): this;
}
/**
 * Represents a series of data points.
 */
interface IGroupedVerticalBarChartData {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The legend of the chart.
     */
    legend?: string;
    /**
     * The data points in the series.
     */
    values?: IBarChartDataValue[];
    /**
     * The color to use for all data points in the series. See [Chart colors reference](https://adaptivecards.microsoft.com/?topic=chart-colors-reference).
     */
    color?: ChartColor;
}
type GroupedVerticalBarChartDataOptions = Partial<IGroupedVerticalBarChartData>;
/**
 * Represents a series of data points.
 */
declare class GroupedVerticalBarChartData implements IGroupedVerticalBarChartData {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The legend of the chart.
     */
    legend?: string;
    /**
     * The data points in the series.
     */
    values?: IBarChartDataValue[];
    /**
     * The color to use for all data points in the series. See [Chart colors reference](https://adaptivecards.microsoft.com/?topic=chart-colors-reference).
     */
    color?: ChartColor;
    constructor(options?: GroupedVerticalBarChartDataOptions);
    static from(options: IGroupedVerticalBarChartData): GroupedVerticalBarChartData;
    withKey(key: string): this;
    withLegend(legend: string): this;
    withValues(...values: IBarChartDataValue[]): this;
    withColor(color: ChartColor): this;
}
/**
 * A single data point in a bar chart.
 */
interface IBarChartDataValue {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The x axis value of the data point.
     */
    x?: string;
    /**
     * The y axis value of the data point.
     */
    y?: number;
}
type BarChartDataValueOptions = Partial<IBarChartDataValue>;
/**
 * A single data point in a bar chart.
 */
declare class BarChartDataValue implements IBarChartDataValue {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The x axis value of the data point.
     */
    x?: string;
    /**
     * The y axis value of the data point.
     */
    y?: number;
    constructor(options?: BarChartDataValueOptions);
    static from(options: IBarChartDataValue): BarChartDataValue;
    withKey(key: string): this;
    withX(x: string): this;
    withY(y: number): this;
}
/**
 * A vertical bar chart.
 */
interface IVerticalBarChart {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Chart.VerticalBar**.
     */
    readonly type: 'Chart.VerticalBar';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The title of the chart.
     */
    title?: string;
    /**
     * Controls whether the chart's title should be displayed. Defaults to `false`.
     */
    showTitle?: boolean;
    /**
     * The name of the set of colors to use to render the chart. See [Chart colors reference](https://adaptivecards.microsoft.com/?topic=chart-colors-reference).
     */
    colorSet?: ChartColorSet;
    /**
     * The maximum width, in pixels, of the chart, in the `<number>px` format.
     */
    maxWidth?: string;
    /**
     * Controls whether the chart's legend should be displayed.
     */
    showLegend?: boolean;
    /**
     * The title of the x axis.
     */
    xAxisTitle?: string;
    /**
     * The title of the y axis.
     */
    yAxisTitle?: string;
    /**
     * The data to display in the chart.
     */
    data?: IVerticalBarChartDataValue[];
    /**
     * The color to use for all data points. See [Chart colors reference](https://adaptivecards.microsoft.com/?topic=chart-colors-reference).
     */
    color?: ChartColor;
    /**
     * Controls if the bar values should be displayed.
     */
    showBarValues?: boolean;
    /**
     * The requested minimum for the Y axis range. The value used at runtime may be different to optimize visual presentation.
     */
    yMin?: number;
    /**
     * The requested maximum for the Y axis range. The value used at runtime may be different to optimize visual presentation.
     */
    yMax?: number;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IVerticalBarChart.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of VerticalBarChart, false otherwise.
 */
declare function isVerticalBarChart(value: unknown): value is IVerticalBarChart;
type VerticalBarChartOptions = Partial<Omit<IVerticalBarChart, 'type'>>;
/**
 * A vertical bar chart.
 */
declare class VerticalBarChart implements IVerticalBarChart {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Chart.VerticalBar**.
     */
    readonly type = "Chart.VerticalBar";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The title of the chart.
     */
    title?: string;
    /**
     * Controls whether the chart's title should be displayed. Defaults to `false`.
     */
    showTitle?: boolean;
    /**
     * The name of the set of colors to use to render the chart. See [Chart colors reference](https://adaptivecards.microsoft.com/?topic=chart-colors-reference).
     */
    colorSet?: ChartColorSet;
    /**
     * The maximum width, in pixels, of the chart, in the `<number>px` format.
     */
    maxWidth?: string;
    /**
     * Controls whether the chart's legend should be displayed.
     */
    showLegend?: boolean;
    /**
     * The title of the x axis.
     */
    xAxisTitle?: string;
    /**
     * The title of the y axis.
     */
    yAxisTitle?: string;
    /**
     * The data to display in the chart.
     */
    data?: IVerticalBarChartDataValue[];
    /**
     * The color to use for all data points. See [Chart colors reference](https://adaptivecards.microsoft.com/?topic=chart-colors-reference).
     */
    color?: ChartColor;
    /**
     * Controls if the bar values should be displayed.
     */
    showBarValues?: boolean;
    /**
     * The requested minimum for the Y axis range. The value used at runtime may be different to optimize visual presentation.
     */
    yMin?: number;
    /**
     * The requested maximum for the Y axis range. The value used at runtime may be different to optimize visual presentation.
     */
    yMax?: number;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    constructor(options?: VerticalBarChartOptions);
    static from(options: Omit<IVerticalBarChart, 'type'>): VerticalBarChart;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withSeparator(separator?: boolean): this;
    withHeight(height: ElementHeight): this;
    withHorizontalAlignment(horizontalAlignment: HorizontalAlignment): this;
    withSpacing(spacing: Spacing): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withIsSortKey(isSortKey?: boolean): this;
    withTitle(title: string): this;
    withShowTitle(showTitle?: boolean): this;
    withColorSet(colorSet: ChartColorSet): this;
    withMaxWidth(maxWidth: string): this;
    withShowLegend(showLegend?: boolean): this;
    withXAxisTitle(xAxisTitle: string): this;
    withYAxisTitle(yAxisTitle: string): this;
    withData(...data: IVerticalBarChartDataValue[]): this;
    withColor(color: ChartColor): this;
    withShowBarValues(showBarValues?: boolean): this;
    withYMin(yMin: number): this;
    withYMax(yMax: number): this;
    withFallback(fallback: FallbackElement): this;
}
/**
 * Represents a data point in a vertical bar chart.
 */
interface IVerticalBarChartDataValue {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The x axis value of the data point.
     */
    x?: string | number;
    /**
     * The y axis value of the data point.
     */
    y?: number;
    /**
     * The color to use for the bar associated with the data point. See [Chart colors reference](https://adaptivecards.microsoft.com/?topic=chart-colors-reference).
     */
    color?: ChartColor;
}
type VerticalBarChartDataValueOptions = Partial<IVerticalBarChartDataValue>;
/**
 * Represents a data point in a vertical bar chart.
 */
declare class VerticalBarChartDataValue implements IVerticalBarChartDataValue {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The x axis value of the data point.
     */
    x?: string | number;
    /**
     * The y axis value of the data point.
     */
    y?: number;
    /**
     * The color to use for the bar associated with the data point. See [Chart colors reference](https://adaptivecards.microsoft.com/?topic=chart-colors-reference).
     */
    color?: ChartColor;
    constructor(options?: VerticalBarChartDataValueOptions);
    static from(options: IVerticalBarChartDataValue): VerticalBarChartDataValue;
    withKey(key: string): this;
    withX(x: string | number): this;
    withY(y: number): this;
    withColor(color: ChartColor): this;
}
/**
 * A horizontal bar chart.
 */
interface IHorizontalBarChart {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Chart.HorizontalBar**.
     */
    readonly type: 'Chart.HorizontalBar';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The title of the chart.
     */
    title?: string;
    /**
     * Controls whether the chart's title should be displayed. Defaults to `false`.
     */
    showTitle?: boolean;
    /**
     * The name of the set of colors to use to render the chart. See [Chart colors reference](https://adaptivecards.microsoft.com/?topic=chart-colors-reference).
     */
    colorSet?: ChartColorSet;
    /**
     * The maximum width, in pixels, of the chart, in the `<number>px` format.
     */
    maxWidth?: string;
    /**
     * Controls whether the chart's legend should be displayed.
     */
    showLegend?: boolean;
    /**
     * The title of the x axis.
     */
    xAxisTitle?: string;
    /**
     * The title of the y axis.
     */
    yAxisTitle?: string;
    /**
     * The color to use for all data points. See [Chart colors reference](https://adaptivecards.microsoft.com/?topic=chart-colors-reference).
     */
    color?: ChartColor;
    /**
     * The data points in the chart.
     */
    data?: IHorizontalBarChartDataValue[];
    /**
     * Controls how the chart should be visually laid out.
     */
    displayMode?: HorizontalBarChartDisplayMode;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IHorizontalBarChart.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of HorizontalBarChart, false otherwise.
 */
declare function isHorizontalBarChart(value: unknown): value is IHorizontalBarChart;
type HorizontalBarChartOptions = Partial<Omit<IHorizontalBarChart, 'type'>>;
/**
 * A horizontal bar chart.
 */
declare class HorizontalBarChart implements IHorizontalBarChart {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Chart.HorizontalBar**.
     */
    readonly type = "Chart.HorizontalBar";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The title of the chart.
     */
    title?: string;
    /**
     * Controls whether the chart's title should be displayed. Defaults to `false`.
     */
    showTitle?: boolean;
    /**
     * The name of the set of colors to use to render the chart. See [Chart colors reference](https://adaptivecards.microsoft.com/?topic=chart-colors-reference).
     */
    colorSet?: ChartColorSet;
    /**
     * The maximum width, in pixels, of the chart, in the `<number>px` format.
     */
    maxWidth?: string;
    /**
     * Controls whether the chart's legend should be displayed.
     */
    showLegend?: boolean;
    /**
     * The title of the x axis.
     */
    xAxisTitle?: string;
    /**
     * The title of the y axis.
     */
    yAxisTitle?: string;
    /**
     * The color to use for all data points. See [Chart colors reference](https://adaptivecards.microsoft.com/?topic=chart-colors-reference).
     */
    color?: ChartColor;
    /**
     * The data points in the chart.
     */
    data?: IHorizontalBarChartDataValue[];
    /**
     * Controls how the chart should be visually laid out.
     */
    displayMode?: HorizontalBarChartDisplayMode;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    constructor(options?: HorizontalBarChartOptions);
    static from(options: Omit<IHorizontalBarChart, 'type'>): HorizontalBarChart;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withSeparator(separator?: boolean): this;
    withHeight(height: ElementHeight): this;
    withHorizontalAlignment(horizontalAlignment: HorizontalAlignment): this;
    withSpacing(spacing: Spacing): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withIsSortKey(isSortKey?: boolean): this;
    withTitle(title: string): this;
    withShowTitle(showTitle?: boolean): this;
    withColorSet(colorSet: ChartColorSet): this;
    withMaxWidth(maxWidth: string): this;
    withShowLegend(showLegend?: boolean): this;
    withXAxisTitle(xAxisTitle: string): this;
    withYAxisTitle(yAxisTitle: string): this;
    withColor(color: ChartColor): this;
    withData(...data: IHorizontalBarChartDataValue[]): this;
    withDisplayMode(displayMode: HorizontalBarChartDisplayMode): this;
    withFallback(fallback: FallbackElement): this;
}
/**
 * Represents a single data point in a horizontal bar chart.
 */
interface IHorizontalBarChartDataValue {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The x axis value of the data point.
     */
    x?: string;
    /**
     * The y axis value of the data point.
     */
    y?: number;
    /**
     * The color of the bar associated with the data point. See [Chart colors reference](https://adaptivecards.microsoft.com/?topic=chart-colors-reference).
     */
    color?: ChartColor;
}
type HorizontalBarChartDataValueOptions = Partial<IHorizontalBarChartDataValue>;
/**
 * Represents a single data point in a horizontal bar chart.
 */
declare class HorizontalBarChartDataValue implements IHorizontalBarChartDataValue {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The x axis value of the data point.
     */
    x?: string;
    /**
     * The y axis value of the data point.
     */
    y?: number;
    /**
     * The color of the bar associated with the data point. See [Chart colors reference](https://adaptivecards.microsoft.com/?topic=chart-colors-reference).
     */
    color?: ChartColor;
    constructor(options?: HorizontalBarChartDataValueOptions);
    static from(options: IHorizontalBarChartDataValue): HorizontalBarChartDataValue;
    withKey(key: string): this;
    withX(x: string): this;
    withY(y: number): this;
    withColor(color: ChartColor): this;
}
/**
 * A stacked horizontal bar chart.
 */
interface IStackedHorizontalBarChart {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Chart.HorizontalBar.Stacked**.
     */
    readonly type: 'Chart.HorizontalBar.Stacked';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The title of the chart.
     */
    title?: string;
    /**
     * Controls whether the chart's title should be displayed. Defaults to `false`.
     */
    showTitle?: boolean;
    /**
     * The name of the set of colors to use to render the chart. See [Chart colors reference](https://adaptivecards.microsoft.com/?topic=chart-colors-reference).
     */
    colorSet?: ChartColorSet;
    /**
     * The maximum width, in pixels, of the chart, in the `<number>px` format.
     */
    maxWidth?: string;
    /**
     * Controls whether the chart's legend should be displayed.
     */
    showLegend?: boolean;
    /**
     * The title of the x axis.
     */
    xAxisTitle?: string;
    /**
     * The title of the y axis.
     */
    yAxisTitle?: string;
    /**
     * The color to use for all data points. See [Chart colors reference](https://adaptivecards.microsoft.com/?topic=chart-colors-reference).
     */
    color?: ChartColor;
    /**
     * The data to display in the chart.
     */
    data?: IStackedHorizontalBarChartData[];
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IStackedHorizontalBarChart.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of StackedHorizontalBarChart, false otherwise.
 */
declare function isStackedHorizontalBarChart(value: unknown): value is IStackedHorizontalBarChart;
type StackedHorizontalBarChartOptions = Partial<Omit<IStackedHorizontalBarChart, 'type'>>;
/**
 * A stacked horizontal bar chart.
 */
declare class StackedHorizontalBarChart implements IStackedHorizontalBarChart {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Chart.HorizontalBar.Stacked**.
     */
    readonly type = "Chart.HorizontalBar.Stacked";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The title of the chart.
     */
    title?: string;
    /**
     * Controls whether the chart's title should be displayed. Defaults to `false`.
     */
    showTitle?: boolean;
    /**
     * The name of the set of colors to use to render the chart. See [Chart colors reference](https://adaptivecards.microsoft.com/?topic=chart-colors-reference).
     */
    colorSet?: ChartColorSet;
    /**
     * The maximum width, in pixels, of the chart, in the `<number>px` format.
     */
    maxWidth?: string;
    /**
     * Controls whether the chart's legend should be displayed.
     */
    showLegend?: boolean;
    /**
     * The title of the x axis.
     */
    xAxisTitle?: string;
    /**
     * The title of the y axis.
     */
    yAxisTitle?: string;
    /**
     * The color to use for all data points. See [Chart colors reference](https://adaptivecards.microsoft.com/?topic=chart-colors-reference).
     */
    color?: ChartColor;
    /**
     * The data to display in the chart.
     */
    data?: IStackedHorizontalBarChartData[];
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    constructor(options?: StackedHorizontalBarChartOptions);
    static from(options: Omit<IStackedHorizontalBarChart, 'type'>): StackedHorizontalBarChart;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withSeparator(separator?: boolean): this;
    withHeight(height: ElementHeight): this;
    withHorizontalAlignment(horizontalAlignment: HorizontalAlignment): this;
    withSpacing(spacing: Spacing): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withIsSortKey(isSortKey?: boolean): this;
    withTitle(title: string): this;
    withShowTitle(showTitle?: boolean): this;
    withColorSet(colorSet: ChartColorSet): this;
    withMaxWidth(maxWidth: string): this;
    withShowLegend(showLegend?: boolean): this;
    withXAxisTitle(xAxisTitle: string): this;
    withYAxisTitle(yAxisTitle: string): this;
    withColor(color: ChartColor): this;
    withData(...data: IStackedHorizontalBarChartData[]): this;
    withFallback(fallback: FallbackElement): this;
}
/**
 * Defines the collection of data series to display in as a stacked horizontal bar chart.
 */
interface IStackedHorizontalBarChartData {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The title of the series.
     */
    title?: string;
    /**
     * The data points in the series.
     */
    data?: IStackedHorizontalBarChartDataPoint[];
}
type StackedHorizontalBarChartDataOptions = Partial<IStackedHorizontalBarChartData>;
/**
 * Defines the collection of data series to display in as a stacked horizontal bar chart.
 */
declare class StackedHorizontalBarChartData implements IStackedHorizontalBarChartData {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The title of the series.
     */
    title?: string;
    /**
     * The data points in the series.
     */
    data?: IStackedHorizontalBarChartDataPoint[];
    constructor(options?: StackedHorizontalBarChartDataOptions);
    static from(options: IStackedHorizontalBarChartData): StackedHorizontalBarChartData;
    withKey(key: string): this;
    withTitle(title: string): this;
    withData(...data: IStackedHorizontalBarChartDataPoint[]): this;
}
/**
 * A data point in a series.
 */
interface IStackedHorizontalBarChartDataPoint {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The legend associated with the data point.
     */
    legend?: string;
    /**
     * The value of the data point.
     */
    value?: number;
    /**
     * The color to use to render the bar associated with the data point. See [Chart colors reference](https://adaptivecards.microsoft.com/?topic=chart-colors-reference).
     */
    color?: ChartColor;
}
type StackedHorizontalBarChartDataPointOptions = Partial<IStackedHorizontalBarChartDataPoint>;
/**
 * A data point in a series.
 */
declare class StackedHorizontalBarChartDataPoint implements IStackedHorizontalBarChartDataPoint {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The legend associated with the data point.
     */
    legend?: string;
    /**
     * The value of the data point.
     */
    value?: number;
    /**
     * The color to use to render the bar associated with the data point. See [Chart colors reference](https://adaptivecards.microsoft.com/?topic=chart-colors-reference).
     */
    color?: ChartColor;
    constructor(options?: StackedHorizontalBarChartDataPointOptions);
    static from(options: IStackedHorizontalBarChartDataPoint): StackedHorizontalBarChartDataPoint;
    withKey(key: string): this;
    withLegend(legend: string): this;
    withValue(value: number): this;
    withColor(color: ChartColor): this;
}
/**
 * A line chart.
 */
interface ILineChart {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Chart.Line**.
     */
    readonly type: 'Chart.Line';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The title of the chart.
     */
    title?: string;
    /**
     * Controls whether the chart's title should be displayed. Defaults to `false`.
     */
    showTitle?: boolean;
    /**
     * The name of the set of colors to use to render the chart. See [Chart colors reference](https://adaptivecards.microsoft.com/?topic=chart-colors-reference).
     */
    colorSet?: ChartColorSet;
    /**
     * The maximum width, in pixels, of the chart, in the `<number>px` format.
     */
    maxWidth?: string;
    /**
     * Controls whether the chart's legend should be displayed.
     */
    showLegend?: boolean;
    /**
     * The title of the x axis.
     */
    xAxisTitle?: string;
    /**
     * The title of the y axis.
     */
    yAxisTitle?: string;
    /**
     * The color to use for all data points. See [Chart colors reference](https://adaptivecards.microsoft.com/?topic=chart-colors-reference).
     */
    color?: ChartColor;
    /**
     * The data point series in the line chart.
     */
    data?: ILineChartData[];
    /**
     * The maximum y range.
     */
    yMin?: number;
    /**
     * The minimum y range.
     */
    yMax?: number;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type ILineChart.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of LineChart, false otherwise.
 */
declare function isLineChart(value: unknown): value is ILineChart;
type LineChartOptions = Partial<Omit<ILineChart, 'type'>>;
/**
 * A line chart.
 */
declare class LineChart implements ILineChart {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Chart.Line**.
     */
    readonly type = "Chart.Line";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The title of the chart.
     */
    title?: string;
    /**
     * Controls whether the chart's title should be displayed. Defaults to `false`.
     */
    showTitle?: boolean;
    /**
     * The name of the set of colors to use to render the chart. See [Chart colors reference](https://adaptivecards.microsoft.com/?topic=chart-colors-reference).
     */
    colorSet?: ChartColorSet;
    /**
     * The maximum width, in pixels, of the chart, in the `<number>px` format.
     */
    maxWidth?: string;
    /**
     * Controls whether the chart's legend should be displayed.
     */
    showLegend?: boolean;
    /**
     * The title of the x axis.
     */
    xAxisTitle?: string;
    /**
     * The title of the y axis.
     */
    yAxisTitle?: string;
    /**
     * The color to use for all data points. See [Chart colors reference](https://adaptivecards.microsoft.com/?topic=chart-colors-reference).
     */
    color?: ChartColor;
    /**
     * The data point series in the line chart.
     */
    data?: ILineChartData[];
    /**
     * The maximum y range.
     */
    yMin?: number;
    /**
     * The minimum y range.
     */
    yMax?: number;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    constructor(options?: LineChartOptions);
    static from(options: Omit<ILineChart, 'type'>): LineChart;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withSeparator(separator?: boolean): this;
    withHeight(height: ElementHeight): this;
    withHorizontalAlignment(horizontalAlignment: HorizontalAlignment): this;
    withSpacing(spacing: Spacing): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withIsSortKey(isSortKey?: boolean): this;
    withTitle(title: string): this;
    withShowTitle(showTitle?: boolean): this;
    withColorSet(colorSet: ChartColorSet): this;
    withMaxWidth(maxWidth: string): this;
    withShowLegend(showLegend?: boolean): this;
    withXAxisTitle(xAxisTitle: string): this;
    withYAxisTitle(yAxisTitle: string): this;
    withColor(color: ChartColor): this;
    withData(...data: ILineChartData[]): this;
    withYMin(yMin: number): this;
    withYMax(yMax: number): this;
    withFallback(fallback: FallbackElement): this;
}
/**
 * Represents a collection of data points series in a line chart.
 */
interface ILineChartData {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The legend of the chart.
     */
    legend?: string;
    /**
     * The data points in the series.
     */
    values?: ILineChartValue[];
    /**
     * The color all data points in the series. See [Chart colors reference](https://adaptivecards.microsoft.com/?topic=chart-colors-reference).
     */
    color?: ChartColor;
}
type LineChartDataOptions = Partial<ILineChartData>;
/**
 * Represents a collection of data points series in a line chart.
 */
declare class LineChartData implements ILineChartData {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The legend of the chart.
     */
    legend?: string;
    /**
     * The data points in the series.
     */
    values?: ILineChartValue[];
    /**
     * The color all data points in the series. See [Chart colors reference](https://adaptivecards.microsoft.com/?topic=chart-colors-reference).
     */
    color?: ChartColor;
    constructor(options?: LineChartDataOptions);
    static from(options: ILineChartData): LineChartData;
    withKey(key: string): this;
    withLegend(legend: string): this;
    withValues(...values: ILineChartValue[]): this;
    withColor(color: ChartColor): this;
}
/**
 * Represents a single data point in a line chart.
 */
interface ILineChartValue {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The x axis value of the data point.
     *
     * If all x values of the x [Chart.Line](https://adaptivecards.microsoft.com/?topic=Chart.Line) are expressed as a number, or if all x values are expressed as a date string in the `YYYY-MM-DD` format, the chart will be rendered as a time series chart, i.e. x axis values will span across the minimum x value to maximum x value range.
     *
     * Otherwise, if x values are represented as a mix of numbers and strings or if at least one x value isn't in the `YYYY-MM-DD` format, the chart will be rendered as a categorical chart, i.e. x axis values will be displayed as categories.
     */
    x?: number | string;
    /**
     * The y axis value of the data point.
     */
    y?: number;
}
type LineChartValueOptions = Partial<ILineChartValue>;
/**
 * Represents a single data point in a line chart.
 */
declare class LineChartValue implements ILineChartValue {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The x axis value of the data point.
     *
     * If all x values of the x [Chart.Line](https://adaptivecards.microsoft.com/?topic=Chart.Line) are expressed as a number, or if all x values are expressed as a date string in the `YYYY-MM-DD` format, the chart will be rendered as a time series chart, i.e. x axis values will span across the minimum x value to maximum x value range.
     *
     * Otherwise, if x values are represented as a mix of numbers and strings or if at least one x value isn't in the `YYYY-MM-DD` format, the chart will be rendered as a categorical chart, i.e. x axis values will be displayed as categories.
     */
    x?: number | string;
    /**
     * The y axis value of the data point.
     */
    y?: number;
    constructor(options?: LineChartValueOptions);
    static from(options: ILineChartValue): LineChartValue;
    withKey(key: string): this;
    withX(x: number | string): this;
    withY(y: number): this;
}
/**
 * A gauge chart.
 */
interface IGaugeChart {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Chart.Gauge**.
     */
    readonly type: 'Chart.Gauge';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The title of the chart.
     */
    title?: string;
    /**
     * Controls whether the chart's title should be displayed. Defaults to `false`.
     */
    showTitle?: boolean;
    /**
     * The name of the set of colors to use to render the chart. See [Chart colors reference](https://adaptivecards.microsoft.com/?topic=chart-colors-reference).
     */
    colorSet?: ChartColorSet;
    /**
     * The maximum width, in pixels, of the chart, in the `<number>px` format.
     */
    maxWidth?: string;
    /**
     * Controls whether the chart's legend should be displayed.
     */
    showLegend?: boolean;
    /**
     * The minimum value of the gauge.
     */
    min?: number;
    /**
     * The maximum value of the gauge.
     */
    max?: number;
    /**
     * The sub-label of the gauge.
     */
    subLabel?: string;
    /**
     * Controls whether the min/max values should be displayed.
     */
    showMinMax?: boolean;
    /**
     * Controls whether the gauge's needle is displayed. Default is **true**.
     */
    showNeedle?: boolean;
    /**
     * Controls whether the outlines of the gauge segments are displayed.
     */
    showOutlines?: boolean;
    /**
     * The segments to display in the gauge.
     */
    segments?: IGaugeChartLegend[];
    /**
     * The value of the gauge.
     */
    value?: number;
    /**
     * The format used to display the gauge's value.
     */
    valueFormat?: GaugeChartValueFormat;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IGaugeChart.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of GaugeChart, false otherwise.
 */
declare function isGaugeChart(value: unknown): value is IGaugeChart;
type GaugeChartOptions = Partial<Omit<IGaugeChart, 'type'>>;
/**
 * A gauge chart.
 */
declare class GaugeChart implements IGaugeChart {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Chart.Gauge**.
     */
    readonly type = "Chart.Gauge";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The title of the chart.
     */
    title?: string;
    /**
     * Controls whether the chart's title should be displayed. Defaults to `false`.
     */
    showTitle?: boolean;
    /**
     * The name of the set of colors to use to render the chart. See [Chart colors reference](https://adaptivecards.microsoft.com/?topic=chart-colors-reference).
     */
    colorSet?: ChartColorSet;
    /**
     * The maximum width, in pixels, of the chart, in the `<number>px` format.
     */
    maxWidth?: string;
    /**
     * Controls whether the chart's legend should be displayed.
     */
    showLegend?: boolean;
    /**
     * The minimum value of the gauge.
     */
    min?: number;
    /**
     * The maximum value of the gauge.
     */
    max?: number;
    /**
     * The sub-label of the gauge.
     */
    subLabel?: string;
    /**
     * Controls whether the min/max values should be displayed.
     */
    showMinMax?: boolean;
    /**
     * Controls whether the gauge's needle is displayed. Default is **true**.
     */
    showNeedle?: boolean;
    /**
     * Controls whether the outlines of the gauge segments are displayed.
     */
    showOutlines?: boolean;
    /**
     * The segments to display in the gauge.
     */
    segments?: IGaugeChartLegend[];
    /**
     * The value of the gauge.
     */
    value?: number;
    /**
     * The format used to display the gauge's value.
     */
    valueFormat?: GaugeChartValueFormat;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    constructor(options?: GaugeChartOptions);
    static from(options: Omit<IGaugeChart, 'type'>): GaugeChart;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withSeparator(separator?: boolean): this;
    withHeight(height: ElementHeight): this;
    withHorizontalAlignment(horizontalAlignment: HorizontalAlignment): this;
    withSpacing(spacing: Spacing): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withIsSortKey(isSortKey?: boolean): this;
    withTitle(title: string): this;
    withShowTitle(showTitle?: boolean): this;
    withColorSet(colorSet: ChartColorSet): this;
    withMaxWidth(maxWidth: string): this;
    withShowLegend(showLegend?: boolean): this;
    withMin(min: number): this;
    withMax(max: number): this;
    withSubLabel(subLabel: string): this;
    withShowMinMax(showMinMax?: boolean): this;
    withShowNeedle(showNeedle?: boolean): this;
    withShowOutlines(showOutlines?: boolean): this;
    withSegments(...segments: IGaugeChartLegend[]): this;
    withValue(value: number): this;
    withValueFormat(valueFormat: GaugeChartValueFormat): this;
    withFallback(fallback: FallbackElement): this;
}
/**
 * The legend of the chart.
 */
interface IGaugeChartLegend {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The size of the segment.
     */
    size?: number;
    /**
     * The legend text associated with the segment.
     */
    legend?: string;
    /**
     * The color to use for the segment. See [Chart colors reference](https://adaptivecards.microsoft.com/?topic=chart-colors-reference).
     */
    color?: ChartColor;
}
type GaugeChartLegendOptions = Partial<IGaugeChartLegend>;
/**
 * The legend of the chart.
 */
declare class GaugeChartLegend implements IGaugeChartLegend {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The size of the segment.
     */
    size?: number;
    /**
     * The legend text associated with the segment.
     */
    legend?: string;
    /**
     * The color to use for the segment. See [Chart colors reference](https://adaptivecards.microsoft.com/?topic=chart-colors-reference).
     */
    color?: ChartColor;
    constructor(options?: GaugeChartLegendOptions);
    static from(options: IGaugeChartLegend): GaugeChartLegend;
    withKey(key: string): this;
    withSize(size: number): this;
    withLegend(legend: string): this;
    withColor(color: ChartColor): this;
}
/**
 * A formatted and syntax-colored code block.
 */
interface ICodeBlock {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **CodeBlock**.
     */
    readonly type: 'CodeBlock';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The code snippet to display.
     */
    codeSnippet?: string;
    /**
     * The language the code snippet is expressed in.
     */
    language?: CodeLanguage;
    /**
     * A number that represents the line in the file from where the code snippet was extracted.
     */
    startLineNumber?: number;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type ICodeBlock.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of CodeBlock, false otherwise.
 */
declare function isCodeBlock(value: unknown): value is ICodeBlock;
type CodeBlockOptions = Partial<Omit<ICodeBlock, 'type'>>;
/**
 * A formatted and syntax-colored code block.
 */
declare class CodeBlock implements ICodeBlock {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **CodeBlock**.
     */
    readonly type = "CodeBlock";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The code snippet to display.
     */
    codeSnippet?: string;
    /**
     * The language the code snippet is expressed in.
     */
    language?: CodeLanguage;
    /**
     * A number that represents the line in the file from where the code snippet was extracted.
     */
    startLineNumber?: number;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    constructor(options?: CodeBlockOptions);
    static from(options: Omit<ICodeBlock, 'type'>): CodeBlock;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withSeparator(separator?: boolean): this;
    withHeight(height: ElementHeight): this;
    withHorizontalAlignment(horizontalAlignment: HorizontalAlignment): this;
    withSpacing(spacing: Spacing): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withIsSortKey(isSortKey?: boolean): this;
    withCodeSnippet(codeSnippet: string): this;
    withLanguage(language: CodeLanguage): this;
    withStartLineNumber(startLineNumber: number): this;
    withFallback(fallback: FallbackElement): this;
}
/**
 * Displays a user's information, including their profile picture.
 */
interface IComUserMicrosoftGraphComponent {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Component**.
     */
    readonly type: 'Component';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * Must be **graph.microsoft.com/user**.
     */
    readonly name: 'graph.microsoft.com/user';
    /**
     * The properties of the Persona component.
     */
    properties?: IPersonaProperties;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IComUserMicrosoftGraphComponent.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of ComUserMicrosoftGraphComponent, false otherwise.
 */
declare function isComUserMicrosoftGraphComponent(value: unknown): value is IComUserMicrosoftGraphComponent;
type ComUserMicrosoftGraphComponentOptions = Partial<Omit<IComUserMicrosoftGraphComponent, 'type' | 'name'>>;
/**
 * Displays a user's information, including their profile picture.
 */
declare class ComUserMicrosoftGraphComponent implements IComUserMicrosoftGraphComponent {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Component**.
     */
    readonly type = "Component";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * Must be **graph.microsoft.com/user**.
     */
    readonly name = "graph.microsoft.com/user";
    /**
     * The properties of the Persona component.
     */
    properties?: IPersonaProperties;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    constructor(options?: ComUserMicrosoftGraphComponentOptions);
    static from(options: Omit<IComUserMicrosoftGraphComponent, 'type' | 'name'>): ComUserMicrosoftGraphComponent;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withSeparator(separator?: boolean): this;
    withHeight(height: ElementHeight): this;
    withHorizontalAlignment(horizontalAlignment: HorizontalAlignment): this;
    withSpacing(spacing: Spacing): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withIsSortKey(isSortKey?: boolean): this;
    withProperties(properties: IPersonaProperties): this;
    withFallback(fallback: FallbackElement): this;
}
/**
 * Represents the properties of a Persona component.
 */
interface IPersonaProperties {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The Id of the persona.
     */
    id?: string;
    /**
     * The UPN of the persona.
     */
    userPrincipalName?: string;
    /**
     * The display name of the persona.
     */
    displayName?: string;
    /**
     * Defines the style of the icon for the persona.
     */
    iconStyle?: PersonaIconStyle;
    /**
     * Defines how the persona should be displayed.
     */
    style?: PersonaDisplayStyle;
}
type PersonaPropertiesOptions = Partial<IPersonaProperties>;
/**
 * Represents the properties of a Persona component.
 */
declare class PersonaProperties implements IPersonaProperties {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The Id of the persona.
     */
    id?: string;
    /**
     * The UPN of the persona.
     */
    userPrincipalName?: string;
    /**
     * The display name of the persona.
     */
    displayName?: string;
    /**
     * Defines the style of the icon for the persona.
     */
    iconStyle?: PersonaIconStyle;
    /**
     * Defines how the persona should be displayed.
     */
    style?: PersonaDisplayStyle;
    constructor(options?: PersonaPropertiesOptions);
    static from(options: IPersonaProperties): PersonaProperties;
    withKey(key: string): this;
    withId(id: string): this;
    withUserPrincipalName(userPrincipalName: string): this;
    withDisplayName(displayName: string): this;
    withIconStyle(iconStyle: PersonaIconStyle): this;
    withStyle(style: PersonaDisplayStyle): this;
}
/**
 * Displays multiple users' information, including their profile pictures.
 */
interface IComUsersMicrosoftGraphComponent {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Component**.
     */
    readonly type: 'Component';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * Must be **graph.microsoft.com/users**.
     */
    readonly name: 'graph.microsoft.com/users';
    /**
     * The properties of the PersonaSet component.
     */
    properties?: IPersonaSetProperties;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IComUsersMicrosoftGraphComponent.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of ComUsersMicrosoftGraphComponent, false otherwise.
 */
declare function isComUsersMicrosoftGraphComponent(value: unknown): value is IComUsersMicrosoftGraphComponent;
type ComUsersMicrosoftGraphComponentOptions = Partial<Omit<IComUsersMicrosoftGraphComponent, 'type' | 'name'>>;
/**
 * Displays multiple users' information, including their profile pictures.
 */
declare class ComUsersMicrosoftGraphComponent implements IComUsersMicrosoftGraphComponent {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Component**.
     */
    readonly type = "Component";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * Must be **graph.microsoft.com/users**.
     */
    readonly name = "graph.microsoft.com/users";
    /**
     * The properties of the PersonaSet component.
     */
    properties?: IPersonaSetProperties;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    constructor(options?: ComUsersMicrosoftGraphComponentOptions);
    static from(options: Omit<IComUsersMicrosoftGraphComponent, 'type' | 'name'>): ComUsersMicrosoftGraphComponent;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withSeparator(separator?: boolean): this;
    withHeight(height: ElementHeight): this;
    withHorizontalAlignment(horizontalAlignment: HorizontalAlignment): this;
    withSpacing(spacing: Spacing): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withIsSortKey(isSortKey?: boolean): this;
    withProperties(properties: IPersonaSetProperties): this;
    withFallback(fallback: FallbackElement): this;
}
/**
 * Represents the properties of a PersonaSet component.
 */
interface IPersonaSetProperties {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The users a PersonaSet component should display.
     */
    users?: IPersonaProperties[];
    /**
     * Defines the style of the icon for the personas in the set.
     */
    iconStyle?: PersonaIconStyle;
    /**
     * Defines how each persona in the set should be displayed.
     */
    style?: PersonaDisplayStyle;
}
type PersonaSetPropertiesOptions = Partial<IPersonaSetProperties>;
/**
 * Represents the properties of a PersonaSet component.
 */
declare class PersonaSetProperties implements IPersonaSetProperties {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The users a PersonaSet component should display.
     */
    users?: IPersonaProperties[];
    /**
     * Defines the style of the icon for the personas in the set.
     */
    iconStyle?: PersonaIconStyle;
    /**
     * Defines how each persona in the set should be displayed.
     */
    style?: PersonaDisplayStyle;
    constructor(options?: PersonaSetPropertiesOptions);
    static from(options: IPersonaSetProperties): PersonaSetProperties;
    withKey(key: string): this;
    withUsers(...users: IPersonaProperties[]): this;
    withIconStyle(iconStyle: PersonaIconStyle): this;
    withStyle(style: PersonaDisplayStyle): this;
}
/**
 * Displays information about a generic graph resource.
 */
interface IComResourceMicrosoftGraphComponent {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Component**.
     */
    readonly type: 'Component';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * Must be **graph.microsoft.com/resource**.
     */
    readonly name: 'graph.microsoft.com/resource';
    /**
     * The properties of the resource.
     */
    properties?: IResourceProperties;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IComResourceMicrosoftGraphComponent.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of ComResourceMicrosoftGraphComponent, false otherwise.
 */
declare function isComResourceMicrosoftGraphComponent(value: unknown): value is IComResourceMicrosoftGraphComponent;
type ComResourceMicrosoftGraphComponentOptions = Partial<Omit<IComResourceMicrosoftGraphComponent, 'type' | 'name'>>;
/**
 * Displays information about a generic graph resource.
 */
declare class ComResourceMicrosoftGraphComponent implements IComResourceMicrosoftGraphComponent {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Component**.
     */
    readonly type = "Component";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * Must be **graph.microsoft.com/resource**.
     */
    readonly name = "graph.microsoft.com/resource";
    /**
     * The properties of the resource.
     */
    properties?: IResourceProperties;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    constructor(options?: ComResourceMicrosoftGraphComponentOptions);
    static from(options: Omit<IComResourceMicrosoftGraphComponent, 'type' | 'name'>): ComResourceMicrosoftGraphComponent;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withSeparator(separator?: boolean): this;
    withHeight(height: ElementHeight): this;
    withHorizontalAlignment(horizontalAlignment: HorizontalAlignment): this;
    withSpacing(spacing: Spacing): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withIsSortKey(isSortKey?: boolean): this;
    withProperties(properties: IResourceProperties): this;
    withFallback(fallback: FallbackElement): this;
}
/**
 * Represents the properties of a resource component.
 */
interface IResourceProperties {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The Id of the resource.
     */
    id?: string;
    /**
     * The reference to the resource.
     */
    resourceReference?: Record<string, string>;
    /**
     * The visualization of the resource.
     */
    resourceVisualization?: IResourceVisualization;
}
type ResourcePropertiesOptions = Partial<IResourceProperties>;
/**
 * Represents the properties of a resource component.
 */
declare class ResourceProperties implements IResourceProperties {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The Id of the resource.
     */
    id?: string;
    /**
     * The reference to the resource.
     */
    resourceReference?: Record<string, string>;
    /**
     * The visualization of the resource.
     */
    resourceVisualization?: IResourceVisualization;
    constructor(options?: ResourcePropertiesOptions);
    static from(options: IResourceProperties): ResourceProperties;
    withKey(key: string): this;
    withId(id: string): this;
    withResourceReference(resourceReference: Record<string, string>): this;
    withResourceVisualization(resourceVisualization: IResourceVisualization): this;
}
/**
 * Represents a visualization of a resource.
 */
interface IResourceVisualization {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The media associated with the resource.
     */
    media?: string;
}
type ResourceVisualizationOptions = Partial<IResourceVisualization>;
/**
 * Represents a visualization of a resource.
 */
declare class ResourceVisualization implements IResourceVisualization {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The media associated with the resource.
     */
    media?: string;
    constructor(options?: ResourceVisualizationOptions);
    static from(options: IResourceVisualization): ResourceVisualization;
    withKey(key: string): this;
    withMedia(media: string): this;
}
/**
 * Displays information about a file resource.
 */
interface IComFileMicrosoftGraphComponent {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Component**.
     */
    readonly type: 'Component';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * Must be **graph.microsoft.com/file**.
     */
    readonly name: 'graph.microsoft.com/file';
    /**
     * The properties of the file.
     */
    properties?: IFileProperties;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IComFileMicrosoftGraphComponent.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of ComFileMicrosoftGraphComponent, false otherwise.
 */
declare function isComFileMicrosoftGraphComponent(value: unknown): value is IComFileMicrosoftGraphComponent;
type ComFileMicrosoftGraphComponentOptions = Partial<Omit<IComFileMicrosoftGraphComponent, 'type' | 'name'>>;
/**
 * Displays information about a file resource.
 */
declare class ComFileMicrosoftGraphComponent implements IComFileMicrosoftGraphComponent {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Component**.
     */
    readonly type = "Component";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * Must be **graph.microsoft.com/file**.
     */
    readonly name = "graph.microsoft.com/file";
    /**
     * The properties of the file.
     */
    properties?: IFileProperties;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    constructor(options?: ComFileMicrosoftGraphComponentOptions);
    static from(options: Omit<IComFileMicrosoftGraphComponent, 'type' | 'name'>): ComFileMicrosoftGraphComponent;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withSeparator(separator?: boolean): this;
    withHeight(height: ElementHeight): this;
    withHorizontalAlignment(horizontalAlignment: HorizontalAlignment): this;
    withSpacing(spacing: Spacing): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withIsSortKey(isSortKey?: boolean): this;
    withProperties(properties: IFileProperties): this;
    withFallback(fallback: FallbackElement): this;
}
/**
 * Represents the properties of a file component.
 */
interface IFileProperties {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The name of the file.
     */
    name?: string;
    /**
     * The file extension.
     */
    extension?: string;
    /**
     * The URL of the file.
     */
    url?: string;
}
type FilePropertiesOptions = Partial<IFileProperties>;
/**
 * Represents the properties of a file component.
 */
declare class FileProperties implements IFileProperties {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The name of the file.
     */
    name?: string;
    /**
     * The file extension.
     */
    extension?: string;
    /**
     * The URL of the file.
     */
    url?: string;
    constructor(options?: FilePropertiesOptions);
    static from(options: IFileProperties): FileProperties;
    withKey(key: string): this;
    withName(name: string): this;
    withExtension(extension: string): this;
    withUrl(url: string): this;
}
/**
 * Displays information about a calendar event.
 */
interface IComEventMicrosoftGraphComponent {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Component**.
     */
    readonly type: 'Component';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * Must be **graph.microsoft.com/event**.
     */
    readonly name: 'graph.microsoft.com/event';
    /**
     * The properties of the event.
     */
    properties?: ICalendarEventProperties;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IComEventMicrosoftGraphComponent.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of ComEventMicrosoftGraphComponent, false otherwise.
 */
declare function isComEventMicrosoftGraphComponent(value: unknown): value is IComEventMicrosoftGraphComponent;
type ComEventMicrosoftGraphComponentOptions = Partial<Omit<IComEventMicrosoftGraphComponent, 'type' | 'name'>>;
/**
 * Displays information about a calendar event.
 */
declare class ComEventMicrosoftGraphComponent implements IComEventMicrosoftGraphComponent {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **Component**.
     */
    readonly type = "Component";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * Must be **graph.microsoft.com/event**.
     */
    readonly name = "graph.microsoft.com/event";
    /**
     * The properties of the event.
     */
    properties?: ICalendarEventProperties;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    constructor(options?: ComEventMicrosoftGraphComponentOptions);
    static from(options: Omit<IComEventMicrosoftGraphComponent, 'type' | 'name'>): ComEventMicrosoftGraphComponent;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withSeparator(separator?: boolean): this;
    withHeight(height: ElementHeight): this;
    withHorizontalAlignment(horizontalAlignment: HorizontalAlignment): this;
    withSpacing(spacing: Spacing): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withIsSortKey(isSortKey?: boolean): this;
    withProperties(properties: ICalendarEventProperties): this;
    withFallback(fallback: FallbackElement): this;
}
/**
 * The properties of a calendar event.
 */
interface ICalendarEventProperties {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The ID of the event.
     */
    id?: string;
    /**
     * The title of the event.
     */
    title?: string;
    /**
     * The start date and time of the event.
     */
    start?: string;
    /**
     * The end date and time of the event.
     */
    end?: string;
    /**
     * The status of the event.
     */
    status?: string;
    /**
     * The locations of the event.
     */
    locations?: string[];
    /**
     * The URL of the online meeting.
     */
    onlineMeetingUrl?: string;
    /**
     * Indicates if the event is all day.
     */
    isAllDay?: boolean;
    /**
     * The extension of the event.
     */
    extension?: string;
    /**
     * The URL of the event.
     */
    url?: string;
    /**
     * The attendees of the event.
     */
    attendees?: ICalendarEventAttendee[];
    /**
     * The organizer of the event.
     */
    organizer?: ICalendarEventAttendee;
}
type CalendarEventPropertiesOptions = Partial<ICalendarEventProperties>;
/**
 * The properties of a calendar event.
 */
declare class CalendarEventProperties implements ICalendarEventProperties {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The ID of the event.
     */
    id?: string;
    /**
     * The title of the event.
     */
    title?: string;
    /**
     * The start date and time of the event.
     */
    start?: string;
    /**
     * The end date and time of the event.
     */
    end?: string;
    /**
     * The status of the event.
     */
    status?: string;
    /**
     * The locations of the event.
     */
    locations?: string[];
    /**
     * The URL of the online meeting.
     */
    onlineMeetingUrl?: string;
    /**
     * Indicates if the event is all day.
     */
    isAllDay?: boolean;
    /**
     * The extension of the event.
     */
    extension?: string;
    /**
     * The URL of the event.
     */
    url?: string;
    /**
     * The attendees of the event.
     */
    attendees?: ICalendarEventAttendee[];
    /**
     * The organizer of the event.
     */
    organizer?: ICalendarEventAttendee;
    constructor(options?: CalendarEventPropertiesOptions);
    static from(options: ICalendarEventProperties): CalendarEventProperties;
    withKey(key: string): this;
    withId(id: string): this;
    withTitle(title: string): this;
    withStart(start: string): this;
    withEnd(end: string): this;
    withStatus(status: string): this;
    withLocations(...locations: string[]): this;
    withOnlineMeetingUrl(onlineMeetingUrl: string): this;
    withIsAllDay(isAllDay: boolean): this;
    withExtension(extension: string): this;
    withUrl(url: string): this;
    withAttendees(...attendees: ICalendarEventAttendee[]): this;
    withOrganizer(organizer: ICalendarEventAttendee): this;
}
/**
 * Represents a calendar event attendee.
 */
interface ICalendarEventAttendee {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The name of the attendee.
     */
    name?: string;
    /**
     * The email address of the attendee.
     */
    email?: string;
    /**
     * The title of the attendee.
     */
    title?: string;
    /**
     * The type of the attendee.
     */
    type?: string;
    /**
     * The status of the attendee.
     */
    status?: string;
}
type CalendarEventAttendeeOptions = Partial<ICalendarEventAttendee>;
/**
 * Represents a calendar event attendee.
 */
declare class CalendarEventAttendee implements ICalendarEventAttendee {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The name of the attendee.
     */
    name?: string;
    /**
     * The email address of the attendee.
     */
    email?: string;
    /**
     * The title of the attendee.
     */
    title?: string;
    /**
     * The type of the attendee.
     */
    type?: string;
    /**
     * The status of the attendee.
     */
    status?: string;
    constructor(options?: CalendarEventAttendeeOptions);
    static from(options: ICalendarEventAttendee): CalendarEventAttendee;
    withKey(key: string): this;
    withName(name: string): this;
    withEmail(email: string): this;
    withTitle(title: string): this;
    withType(type: string): this;
    withStatus(status: string): this;
}
/**
 * A page inside a Carousel element.
 */
interface ICarouselPage {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **CarouselPage**.
     */
    readonly type: 'CarouselPage';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * An Action that will be invoked when the element is tapped or clicked. Action.ShowCard is not supported.
     */
    selectAction?: IExecuteAction | IInsertImageAction | IOpenUrlAction | IOpenUrlDialogAction | IPopoverAction | IResetInputsAction | ISubmitAction | IToggleVisibilityAction;
    /**
     * The style of the container. Container styles control the colors of the background, border and text inside the container, in such a way that contrast requirements are always met.
     */
    style?: ContainerStyle;
    /**
     * Controls if a border should be displayed around the container.
     */
    showBorder?: boolean;
    /**
     * Controls if the container should have rounded corners.
     */
    roundedCorners?: boolean;
    /**
     * The layouts associated with the container. The container can dynamically switch from one layout to another as the card's width changes. See [Container layouts](https://adaptivecards.microsoft.com/?topic=container-layouts) for more details.
     */
    layouts?: (IStackLayout | IFlowLayout | IAreaGridLayout)[];
    /**
     * The minimum height, in pixels, of the container, in the `<number>px` format.
     */
    minHeight?: string;
    /**
     * Defines the container's background image.
     */
    backgroundImage?: string | IBackgroundImage;
    /**
     * Controls how the container's content should be vertically aligned.
     */
    verticalContentAlignment?: VerticalAlignment;
    /**
     * Controls if the content of the card is to be rendered left-to-right or right-to-left.
     */
    rtl?: boolean;
    /**
     * The maximum height, in pixels, of the container, in the `<number>px` format. When the content of a container exceeds the container's maximum height, a vertical scrollbar is displayed.
     */
    maxHeight?: string;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    /**
     * The elements in the page.
     */
    items: CardElementArray;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type ICarouselPage.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of CarouselPage, false otherwise.
 */
declare function isCarouselPage(value: unknown): value is ICarouselPage;
type CarouselPageOptions = Partial<Omit<ICarouselPage, 'type' | 'items'>>;
/**
 * A page inside a Carousel element.
 */
declare class CarouselPage implements ICarouselPage {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **CarouselPage**.
     */
    readonly type = "CarouselPage";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * An Action that will be invoked when the element is tapped or clicked. Action.ShowCard is not supported.
     */
    selectAction?: IExecuteAction | IInsertImageAction | IOpenUrlAction | IOpenUrlDialogAction | IPopoverAction | IResetInputsAction | ISubmitAction | IToggleVisibilityAction;
    /**
     * The style of the container. Container styles control the colors of the background, border and text inside the container, in such a way that contrast requirements are always met.
     */
    style?: ContainerStyle;
    /**
     * Controls if a border should be displayed around the container.
     */
    showBorder?: boolean;
    /**
     * Controls if the container should have rounded corners.
     */
    roundedCorners?: boolean;
    /**
     * The layouts associated with the container. The container can dynamically switch from one layout to another as the card's width changes. See [Container layouts](https://adaptivecards.microsoft.com/?topic=container-layouts) for more details.
     */
    layouts?: (IStackLayout | IFlowLayout | IAreaGridLayout)[];
    /**
     * The minimum height, in pixels, of the container, in the `<number>px` format.
     */
    minHeight?: string;
    /**
     * Defines the container's background image.
     */
    backgroundImage?: string | IBackgroundImage;
    /**
     * Controls how the container's content should be vertically aligned.
     */
    verticalContentAlignment?: VerticalAlignment;
    /**
     * Controls if the content of the card is to be rendered left-to-right or right-to-left.
     */
    rtl?: boolean;
    /**
     * The maximum height, in pixels, of the container, in the `<number>px` format. When the content of a container exceeds the container's maximum height, a vertical scrollbar is displayed.
     */
    maxHeight?: string;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    /**
     * The elements in the page.
     */
    items: CardElementArray;
    constructor(...items: CardElementArray);
    withOptions(value: CarouselPageOptions): this;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withHeight(height: ElementHeight): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withIsSortKey(isSortKey?: boolean): this;
    withSelectAction(selectAction: IExecuteAction | IInsertImageAction | IOpenUrlAction | IOpenUrlDialogAction | IPopoverAction | IResetInputsAction | ISubmitAction | IToggleVisibilityAction): this;
    withStyle(style: ContainerStyle): this;
    withShowBorder(showBorder?: boolean): this;
    withRoundedCorners(roundedCorners?: boolean): this;
    withLayouts(...layouts: (IStackLayout | IFlowLayout | IAreaGridLayout)[]): this;
    withMinHeight(minHeight: string): this;
    withBackgroundImage(backgroundImage: string | IBackgroundImage): this;
    withVerticalContentAlignment(verticalContentAlignment: VerticalAlignment): this;
    withRtl(rtl: boolean): this;
    withMaxHeight(maxHeight: string): this;
    withFallback(fallback: FallbackElement): this;
    withItems(...items: CardElementArray): this;
}
/**
 * Represents a row of cells in a table.
 */
interface ITableRow {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **TableRow**.
     */
    readonly type: 'TableRow';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * Controls if a border should be displayed around the container.
     */
    showBorder?: boolean;
    /**
     * Controls if the container should have rounded corners.
     */
    roundedCorners?: boolean;
    /**
     * The style of the container. Container styles control the colors of the background, border and text inside the container, in such a way that contrast requirements are always met.
     */
    style?: ContainerStyle;
    /**
     * Controls how the content of every cell in the row should be horizontally aligned by default. This property overrides the horizontalCellContentAlignment property of the table and columns.
     */
    horizontalCellContentAlignment?: HorizontalAlignment;
    /**
     * Controls how the content of every cell in the row should be vertically aligned by default. This property overrides the verticalCellContentAlignment property of the table and columns.
     */
    verticalCellContentAlignment?: VerticalAlignment;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    /**
     * The cells in the row.
     */
    cells?: TableCellArray;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type ITableRow.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of TableRow, false otherwise.
 */
declare function isTableRow(value: unknown): value is ITableRow;
type TableRowOptions = Partial<Omit<ITableRow, 'type'>>;
/**
 * Represents a row of cells in a table.
 */
declare class TableRow implements ITableRow {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **TableRow**.
     */
    readonly type = "TableRow";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * Controls if a border should be displayed around the container.
     */
    showBorder?: boolean;
    /**
     * Controls if the container should have rounded corners.
     */
    roundedCorners?: boolean;
    /**
     * The style of the container. Container styles control the colors of the background, border and text inside the container, in such a way that contrast requirements are always met.
     */
    style?: ContainerStyle;
    /**
     * Controls how the content of every cell in the row should be horizontally aligned by default. This property overrides the horizontalCellContentAlignment property of the table and columns.
     */
    horizontalCellContentAlignment?: HorizontalAlignment;
    /**
     * Controls how the content of every cell in the row should be vertically aligned by default. This property overrides the verticalCellContentAlignment property of the table and columns.
     */
    verticalCellContentAlignment?: VerticalAlignment;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    /**
     * The cells in the row.
     */
    cells?: TableCellArray;
    constructor(options?: TableRowOptions);
    static from(options: Omit<ITableRow, 'type'>): TableRow;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withSeparator(separator?: boolean): this;
    withHeight(height: ElementHeight): this;
    withHorizontalAlignment(horizontalAlignment: HorizontalAlignment): this;
    withSpacing(spacing: Spacing): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withIsSortKey(isSortKey?: boolean): this;
    withShowBorder(showBorder?: boolean): this;
    withRoundedCorners(roundedCorners?: boolean): this;
    withStyle(style: ContainerStyle): this;
    withHorizontalCellContentAlignment(horizontalCellContentAlignment: HorizontalAlignment): this;
    withVerticalCellContentAlignment(verticalCellContentAlignment: VerticalAlignment): this;
    withFallback(fallback: FallbackElement): this;
    withCells(...cells: TableCellArray): this;
}
/**
 * Represents a cell in a table row.
 */
interface ITableCell {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **TableCell**.
     */
    readonly type: 'TableCell';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * An Action that will be invoked when the element is tapped or clicked. Action.ShowCard is not supported.
     */
    selectAction?: IExecuteAction | IInsertImageAction | IOpenUrlAction | IOpenUrlDialogAction | IPopoverAction | IResetInputsAction | ISubmitAction | IToggleVisibilityAction;
    /**
     * The style of the container. Container styles control the colors of the background, border and text inside the container, in such a way that contrast requirements are always met.
     */
    style?: ContainerStyle;
    /**
     * The layouts associated with the container. The container can dynamically switch from one layout to another as the card's width changes. See [Container layouts](https://adaptivecards.microsoft.com/?topic=container-layouts) for more details.
     */
    layouts?: (IStackLayout | IFlowLayout | IAreaGridLayout)[];
    /**
     * Controls if the container should bleed into its parent. A bleeding container extends into its parent's padding.
     */
    bleed?: boolean;
    /**
     * The minimum height, in pixels, of the container, in the `<number>px` format.
     */
    minHeight?: string;
    /**
     * Defines the container's background image.
     */
    backgroundImage?: string | IBackgroundImage;
    /**
     * Controls how the container's content should be vertically aligned.
     */
    verticalContentAlignment?: VerticalAlignment;
    /**
     * Controls if the content of the card is to be rendered left-to-right or right-to-left.
     */
    rtl?: boolean;
    /**
     * The maximum height, in pixels, of the container, in the `<number>px` format. When the content of a container exceeds the container's maximum height, a vertical scrollbar is displayed.
     */
    maxHeight?: string;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    /**
     * The items (elements) in the cell.
     */
    items: CardElementArray;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type ITableCell.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of TableCell, false otherwise.
 */
declare function isTableCell(value: unknown): value is ITableCell;
type TableCellOptions = Partial<Omit<ITableCell, 'type' | 'items'>>;
/**
 * Represents a cell in a table row.
 */
declare class TableCell implements ITableCell {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **TableCell**.
     */
    readonly type = "TableCell";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * An Action that will be invoked when the element is tapped or clicked. Action.ShowCard is not supported.
     */
    selectAction?: IExecuteAction | IInsertImageAction | IOpenUrlAction | IOpenUrlDialogAction | IPopoverAction | IResetInputsAction | ISubmitAction | IToggleVisibilityAction;
    /**
     * The style of the container. Container styles control the colors of the background, border and text inside the container, in such a way that contrast requirements are always met.
     */
    style?: ContainerStyle;
    /**
     * The layouts associated with the container. The container can dynamically switch from one layout to another as the card's width changes. See [Container layouts](https://adaptivecards.microsoft.com/?topic=container-layouts) for more details.
     */
    layouts?: (IStackLayout | IFlowLayout | IAreaGridLayout)[];
    /**
     * Controls if the container should bleed into its parent. A bleeding container extends into its parent's padding.
     */
    bleed?: boolean;
    /**
     * The minimum height, in pixels, of the container, in the `<number>px` format.
     */
    minHeight?: string;
    /**
     * Defines the container's background image.
     */
    backgroundImage?: string | IBackgroundImage;
    /**
     * Controls how the container's content should be vertically aligned.
     */
    verticalContentAlignment?: VerticalAlignment;
    /**
     * Controls if the content of the card is to be rendered left-to-right or right-to-left.
     */
    rtl?: boolean;
    /**
     * The maximum height, in pixels, of the container, in the `<number>px` format. When the content of a container exceeds the container's maximum height, a vertical scrollbar is displayed.
     */
    maxHeight?: string;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    /**
     * The items (elements) in the cell.
     */
    items: CardElementArray;
    constructor(...items: CardElementArray);
    withOptions(value: TableCellOptions): this;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withSeparator(separator?: boolean): this;
    withHeight(height: ElementHeight): this;
    withSpacing(spacing: Spacing): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withIsSortKey(isSortKey?: boolean): this;
    withSelectAction(selectAction: IExecuteAction | IInsertImageAction | IOpenUrlAction | IOpenUrlDialogAction | IPopoverAction | IResetInputsAction | ISubmitAction | IToggleVisibilityAction): this;
    withStyle(style: ContainerStyle): this;
    withLayouts(...layouts: (IStackLayout | IFlowLayout | IAreaGridLayout)[]): this;
    withBleed(bleed?: boolean): this;
    withMinHeight(minHeight: string): this;
    withBackgroundImage(backgroundImage: string | IBackgroundImage): this;
    withVerticalContentAlignment(verticalContentAlignment: VerticalAlignment): this;
    withRtl(rtl: boolean): this;
    withMaxHeight(maxHeight: string): this;
    withFallback(fallback: FallbackElement): this;
    withItems(...items: CardElementArray): this;
}
/**
 * A block of text inside a RichTextBlock element.
 */
interface ITextRun {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **TextRun**.
     */
    readonly type: 'TextRun';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The text to display. A subset of markdown is supported.
     */
    text: string;
    /**
     * The size of the text.
     */
    size?: TextSize;
    /**
     * The weight of the text.
     */
    weight?: TextWeight;
    /**
     * The color of the text.
     */
    color?: TextColor;
    /**
     * Controls whether the text should be renderer using a subtler variant of the select color.
     */
    isSubtle?: boolean;
    /**
     * The type of font to use for rendering.
     */
    fontType?: FontType;
    /**
     * Controls if the text should be italicized.
     */
    italic?: boolean;
    /**
     * Controls if the text should be struck through.
     */
    strikethrough?: boolean;
    /**
     * Controls if the text should be highlighted.
     */
    highlight?: boolean;
    /**
     * Controls if the text should be underlined.
     */
    underline?: boolean;
    /**
     * An Action that will be invoked when the text is tapped or clicked. Action.ShowCard is not supported.
     */
    selectAction?: IExecuteAction | IInsertImageAction | IOpenUrlAction | IOpenUrlDialogAction | IPopoverAction | IResetInputsAction | ISubmitAction | IToggleVisibilityAction;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type ITextRun.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of TextRun, false otherwise.
 */
declare function isTextRun(value: unknown): value is ITextRun;
type TextRunOptions = Partial<Omit<ITextRun, 'type' | 'text'>>;
/**
 * A block of text inside a RichTextBlock element.
 */
declare class TextRun implements ITextRun {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **TextRun**.
     */
    readonly type = "TextRun";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The text to display. A subset of markdown is supported.
     */
    text: string;
    /**
     * The size of the text.
     */
    size?: TextSize;
    /**
     * The weight of the text.
     */
    weight?: TextWeight;
    /**
     * The color of the text.
     */
    color?: TextColor;
    /**
     * Controls whether the text should be renderer using a subtler variant of the select color.
     */
    isSubtle?: boolean;
    /**
     * The type of font to use for rendering.
     */
    fontType?: FontType;
    /**
     * Controls if the text should be italicized.
     */
    italic?: boolean;
    /**
     * Controls if the text should be struck through.
     */
    strikethrough?: boolean;
    /**
     * Controls if the text should be highlighted.
     */
    highlight?: boolean;
    /**
     * Controls if the text should be underlined.
     */
    underline?: boolean;
    /**
     * An Action that will be invoked when the text is tapped or clicked. Action.ShowCard is not supported.
     */
    selectAction?: IExecuteAction | IInsertImageAction | IOpenUrlAction | IOpenUrlDialogAction | IPopoverAction | IResetInputsAction | ISubmitAction | IToggleVisibilityAction;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    constructor(text: string, options?: TextRunOptions);
    static from(options: Omit<ITextRun, 'type'>): TextRun;
    withKey(key: string): this;
    withId(id: string): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withIsSortKey(isSortKey?: boolean): this;
    withText(text: string): this;
    withSize(size: TextSize): this;
    withWeight(weight: TextWeight): this;
    withColor(color: TextColor): this;
    withIsSubtle(isSubtle: boolean): this;
    withFontType(fontType: FontType): this;
    withItalic(italic?: boolean): this;
    withStrikethrough(strikethrough?: boolean): this;
    withHighlight(highlight?: boolean): this;
    withUnderline(underline?: boolean): this;
    withSelectAction(selectAction: IExecuteAction | IInsertImageAction | IOpenUrlAction | IOpenUrlDialogAction | IPopoverAction | IResetInputsAction | ISubmitAction | IToggleVisibilityAction): this;
    withFallback(fallback: FallbackElement): this;
}
/**
 * An inline icon inside a RichTextBlock element.
 */
interface IIconRun {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **IconRun**.
     */
    readonly type: 'IconRun';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The name of the inline icon to display.
     */
    name?: string;
    /**
     * The size of the inline icon.
     */
    size?: 'Small' | 'Default' | 'Medium' | 'Large' | 'ExtraLarge';
    /**
     * The style of the inline icon.
     */
    style?: IconStyle;
    /**
     * The color of the inline icon.
     */
    color?: TextColor;
    /**
     * An Action that will be invoked when the inline icon is tapped or clicked. Action.ShowCard is not supported.
     */
    selectAction?: IExecuteAction | IInsertImageAction | IOpenUrlAction | IOpenUrlDialogAction | IPopoverAction | IResetInputsAction | ISubmitAction | IToggleVisibilityAction;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IIconRun.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of IconRun, false otherwise.
 */
declare function isIconRun(value: unknown): value is IIconRun;
type IconRunOptions = Partial<Omit<IIconRun, 'type'>>;
/**
 * An inline icon inside a RichTextBlock element.
 */
declare class IconRun implements IIconRun {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **IconRun**.
     */
    readonly type = "IconRun";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The name of the inline icon to display.
     */
    name?: string;
    /**
     * The size of the inline icon.
     */
    size?: 'Small' | 'Default' | 'Medium' | 'Large' | 'ExtraLarge';
    /**
     * The style of the inline icon.
     */
    style?: IconStyle;
    /**
     * The color of the inline icon.
     */
    color?: TextColor;
    /**
     * An Action that will be invoked when the inline icon is tapped or clicked. Action.ShowCard is not supported.
     */
    selectAction?: IExecuteAction | IInsertImageAction | IOpenUrlAction | IOpenUrlDialogAction | IPopoverAction | IResetInputsAction | ISubmitAction | IToggleVisibilityAction;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    constructor(options?: IconRunOptions);
    static from(options: Omit<IIconRun, 'type'>): IconRun;
    withKey(key: string): this;
    withId(id: string): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withIsSortKey(isSortKey?: boolean): this;
    withName(name: string): this;
    withSize(size: 'Small' | 'Default' | 'Medium' | 'Large' | 'ExtraLarge'): this;
    withStyle(style: IconStyle): this;
    withColor(color: TextColor): this;
    withSelectAction(selectAction: IExecuteAction | IInsertImageAction | IOpenUrlAction | IOpenUrlDialogAction | IPopoverAction | IResetInputsAction | ISubmitAction | IToggleVisibilityAction): this;
    withFallback(fallback: FallbackElement): this;
}
/**
 * An inline image inside a RichTextBlock element.
 */
interface IImageRun {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **ImageRun**.
     */
    readonly type: 'ImageRun';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The URL (or Base64-encoded Data URI) of the image. Acceptable formats are PNG, JPEG, GIF and SVG.
     */
    url?: string;
    /**
     * The size of the inline image.
     */
    size?: 'Small' | 'Default' | 'Medium' | 'Large' | 'ExtraLarge';
    /**
     * The style of the inline image.
     */
    style?: ImageStyle;
    /**
     * An Action that will be invoked when the image is tapped or clicked. Action.ShowCard is not supported.
     */
    selectAction?: IExecuteAction | IInsertImageAction | IOpenUrlAction | IOpenUrlDialogAction | IPopoverAction | IResetInputsAction | ISubmitAction | IToggleVisibilityAction;
    /**
     * A set of theme-specific image URLs.
     */
    themedUrls?: IThemedUrl[];
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IImageRun.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of ImageRun, false otherwise.
 */
declare function isImageRun(value: unknown): value is IImageRun;
type ImageRunOptions = Partial<Omit<IImageRun, 'type'>>;
/**
 * An inline image inside a RichTextBlock element.
 */
declare class ImageRun implements IImageRun {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **ImageRun**.
     */
    readonly type = "ImageRun";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * The URL (or Base64-encoded Data URI) of the image. Acceptable formats are PNG, JPEG, GIF and SVG.
     */
    url?: string;
    /**
     * The size of the inline image.
     */
    size?: 'Small' | 'Default' | 'Medium' | 'Large' | 'ExtraLarge';
    /**
     * The style of the inline image.
     */
    style?: ImageStyle;
    /**
     * An Action that will be invoked when the image is tapped or clicked. Action.ShowCard is not supported.
     */
    selectAction?: IExecuteAction | IInsertImageAction | IOpenUrlAction | IOpenUrlDialogAction | IPopoverAction | IResetInputsAction | ISubmitAction | IToggleVisibilityAction;
    /**
     * A set of theme-specific image URLs.
     */
    themedUrls?: IThemedUrl[];
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    constructor(options?: ImageRunOptions);
    static from(options: Omit<IImageRun, 'type'>): ImageRun;
    withKey(key: string): this;
    withId(id: string): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withIsSortKey(isSortKey?: boolean): this;
    withUrl(url: string): this;
    withSize(size: 'Small' | 'Default' | 'Medium' | 'Large' | 'ExtraLarge'): this;
    withStyle(style: ImageStyle): this;
    withSelectAction(selectAction: IExecuteAction | IInsertImageAction | IOpenUrlAction | IOpenUrlDialogAction | IPopoverAction | IResetInputsAction | ISubmitAction | IToggleVisibilityAction): this;
    withThemedUrls(...themedUrls: IThemedUrl[]): this;
    withFallback(fallback: FallbackElement): this;
}
/**
 * A column in a ColumnSet element.
 */
interface IColumn {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Optional. If specified, must be **Column**.
     */
    readonly type: 'Column';
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * An Action that will be invoked when the element is tapped or clicked. Action.ShowCard is not supported.
     */
    selectAction?: IExecuteAction | IInsertImageAction | IOpenUrlAction | IOpenUrlDialogAction | IPopoverAction | IResetInputsAction | ISubmitAction | IToggleVisibilityAction;
    /**
     * The style of the container. Container styles control the colors of the background, border and text inside the container, in such a way that contrast requirements are always met.
     */
    style?: ContainerStyle;
    /**
     * Controls if a border should be displayed around the container.
     */
    showBorder?: boolean;
    /**
     * Controls if the container should have rounded corners.
     */
    roundedCorners?: boolean;
    /**
     * The layouts associated with the container. The container can dynamically switch from one layout to another as the card's width changes. See [Container layouts](https://adaptivecards.microsoft.com/?topic=container-layouts) for more details.
     */
    layouts?: (IStackLayout | IFlowLayout | IAreaGridLayout)[];
    /**
     * Controls if the container should bleed into its parent. A bleeding container extends into its parent's padding.
     */
    bleed?: boolean;
    /**
     * The minimum height, in pixels, of the container, in the `<number>px` format.
     */
    minHeight?: string;
    /**
     * Defines the container's background image.
     */
    backgroundImage?: string | IBackgroundImage;
    /**
     * Controls how the container's content should be vertically aligned.
     */
    verticalContentAlignment?: VerticalAlignment;
    /**
     * Controls if the content of the card is to be rendered left-to-right or right-to-left.
     */
    rtl?: boolean;
    /**
     * The maximum height, in pixels, of the container, in the `<number>px` format. When the content of a container exceeds the container's maximum height, a vertical scrollbar is displayed.
     */
    maxHeight?: string;
    /**
     * The width of the column. If expressed as a number, represents the relative weight of the column in the set. If expressed as a string, `auto` will automatically adjust the column's width according to its content, `stretch` will make the column use the remaining horizontal space (shared with other columns with width set to `stretch`) and using the `<number>px` format will give the column an explicit width in pixels.
     */
    width?: 'auto' | 'stretch' | string | number;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    /**
     * The elements in the column.
     */
    items: CardElementArray;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IColumn.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of Column, false otherwise.
 */
declare function isColumn(value: unknown): value is IColumn;
type ColumnOptions = Partial<Omit<IColumn, 'type' | 'items'>>;
/**
 * A column in a ColumnSet element.
 */
declare class Column implements IColumn {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Optional. If specified, must be **Column**.
     */
    readonly type = "Column";
    /**
     * A unique identifier for the element or action. Input elements must have an id, otherwise they will not be validated and their values will not be sent to the Bot.
     */
    id?: string;
    /**
     * A list of capabilities the element requires the host application to support. If the host application doesn't support at least one of the listed capabilities, the element is not rendered (or its fallback is rendered if provided).
     */
    requires?: IHostCapabilities;
    /**
     * The locale associated with the element.
     */
    lang?: string;
    /**
     * Controls the visibility of the element.
     */
    isVisible?: boolean;
    /**
     * Controls whether a separator line should be displayed above the element to visually separate it from the previous element. No separator will be displayed for the first element in a container, even if this property is set to true.
     */
    separator?: boolean;
    /**
     * The height of the element. When set to stretch, the element will use the remaining vertical space in its container.
     */
    height?: ElementHeight;
    /**
     * Controls how the element should be horizontally aligned.
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Controls the amount of space between this element and the previous one. No space will be added for the first element in a container.
     */
    spacing?: Spacing;
    /**
     * Controls for which card width the element should be displayed. If targetWidth isn't specified, the element is rendered at all card widths. Using targetWidth makes it possible to author responsive cards that adapt their layout to the available horizontal space. For more details, see [Responsive layout](https://adaptivecards.microsoft.com/?topic=responsive-layout).
     */
    targetWidth?: TargetWidth;
    /**
     * Controls whether the element should be used as a sort key by elements that allow sorting across a collection of elements.
     */
    isSortKey?: boolean;
    /**
     * An Action that will be invoked when the element is tapped or clicked. Action.ShowCard is not supported.
     */
    selectAction?: IExecuteAction | IInsertImageAction | IOpenUrlAction | IOpenUrlDialogAction | IPopoverAction | IResetInputsAction | ISubmitAction | IToggleVisibilityAction;
    /**
     * The style of the container. Container styles control the colors of the background, border and text inside the container, in such a way that contrast requirements are always met.
     */
    style?: ContainerStyle;
    /**
     * Controls if a border should be displayed around the container.
     */
    showBorder?: boolean;
    /**
     * Controls if the container should have rounded corners.
     */
    roundedCorners?: boolean;
    /**
     * The layouts associated with the container. The container can dynamically switch from one layout to another as the card's width changes. See [Container layouts](https://adaptivecards.microsoft.com/?topic=container-layouts) for more details.
     */
    layouts?: (IStackLayout | IFlowLayout | IAreaGridLayout)[];
    /**
     * Controls if the container should bleed into its parent. A bleeding container extends into its parent's padding.
     */
    bleed?: boolean;
    /**
     * The minimum height, in pixels, of the container, in the `<number>px` format.
     */
    minHeight?: string;
    /**
     * Defines the container's background image.
     */
    backgroundImage?: string | IBackgroundImage;
    /**
     * Controls how the container's content should be vertically aligned.
     */
    verticalContentAlignment?: VerticalAlignment;
    /**
     * Controls if the content of the card is to be rendered left-to-right or right-to-left.
     */
    rtl?: boolean;
    /**
     * The maximum height, in pixels, of the container, in the `<number>px` format. When the content of a container exceeds the container's maximum height, a vertical scrollbar is displayed.
     */
    maxHeight?: string;
    /**
     * The width of the column. If expressed as a number, represents the relative weight of the column in the set. If expressed as a string, `auto` will automatically adjust the column's width according to its content, `stretch` will make the column use the remaining horizontal space (shared with other columns with width set to `stretch`) and using the `<number>px` format will give the column an explicit width in pixels.
     */
    width?: 'auto' | 'stretch' | string | number;
    /**
     * The area of a Layout.AreaGrid layout in which an element should be displayed.
     */
    'grid.area'?: string;
    /**
     * An alternate element to render if the type of this one is unsupported or if the host application doesn't support all the capabilities specified in the requires property.
     */
    fallback?: FallbackElement;
    /**
     * The elements in the column.
     */
    items: CardElementArray;
    constructor(...items: CardElementArray);
    withOptions(value: ColumnOptions): this;
    withKey(key: string): this;
    withId(id: string): this;
    withRequires(requires: IHostCapabilities): this;
    withLang(lang: string): this;
    withIsVisible(isVisible?: boolean): this;
    withSeparator(separator?: boolean): this;
    withHeight(height: ElementHeight): this;
    withHorizontalAlignment(horizontalAlignment: HorizontalAlignment): this;
    withSpacing(spacing: Spacing): this;
    withTargetWidth(targetWidth: TargetWidth): this;
    withIsSortKey(isSortKey?: boolean): this;
    withSelectAction(selectAction: IExecuteAction | IInsertImageAction | IOpenUrlAction | IOpenUrlDialogAction | IPopoverAction | IResetInputsAction | ISubmitAction | IToggleVisibilityAction): this;
    withStyle(style: ContainerStyle): this;
    withShowBorder(showBorder?: boolean): this;
    withRoundedCorners(roundedCorners?: boolean): this;
    withLayouts(...layouts: (IStackLayout | IFlowLayout | IAreaGridLayout)[]): this;
    withBleed(bleed?: boolean): this;
    withMinHeight(minHeight: string): this;
    withBackgroundImage(backgroundImage: string | IBackgroundImage): this;
    withVerticalContentAlignment(verticalContentAlignment: VerticalAlignment): this;
    withRtl(rtl: boolean): this;
    withMaxHeight(maxHeight: string): this;
    withWidth(width: 'auto' | 'stretch' | string | number): this;
    withFallback(fallback: FallbackElement): this;
    withItems(...items: CardElementArray): this;
}
/**
 * Represents the data of an Action.Submit.
 */
interface ISubmitActionData extends Record<string, any> {
}
type SubmitActionDataOptions = Partial<ISubmitActionData>;
/**
 * Represents the data of an Action.Submit.
 */
declare class SubmitActionData implements ISubmitActionData {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    /**
     * Defines the optional Teams-specific portion of the action's data.
     */
    constructor(options?: SubmitActionDataOptions);
    static from(options: ISubmitActionData): SubmitActionData;
    [key: string]: any;
}
/**
 * Represents Teams-specific data in an Action.Submit to send an Instant Message back to the Bot.
 */
interface IImBackSubmitActionData {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **imBack**.
     */
    readonly type: 'imBack';
    /**
     * The value that will be sent to the Bot.
     */
    value: string;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IImBackSubmitActionData.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of ImBackSubmitActionData, false otherwise.
 */
declare function isImBackSubmitActionData(value: unknown): value is IImBackSubmitActionData;
type ImBackSubmitActionDataOptions = Partial<Omit<IImBackSubmitActionData, 'type' | 'value'>>;
/**
 * Represents Teams-specific data in an Action.Submit to send an Instant Message back to the Bot.
 */
declare class ImBackSubmitActionData implements IImBackSubmitActionData {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **imBack**.
     */
    readonly type = "imBack";
    /**
     * The value that will be sent to the Bot.
     */
    value: string;
    constructor(value: string, options?: ImBackSubmitActionDataOptions);
    static from(options: Omit<IImBackSubmitActionData, 'type'>): ImBackSubmitActionData;
    withKey(key: string): this;
    withValue(value: string): this;
}
/**
 * Represents Teams-specific data in an Action.Submit to make an Invoke request to the Bot.
 */
interface IInvokeSubmitActionData {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **invoke**.
     */
    readonly type: 'invoke';
    /**
     * The object to send to the Bot with the Invoke request. Can be strongly typed as one of the below values to trigger a specific action in Teams.
     */
    value: any | ICollabStageInvokeDataValue;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IInvokeSubmitActionData.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of InvokeSubmitActionData, false otherwise.
 */
declare function isInvokeSubmitActionData(value: unknown): value is IInvokeSubmitActionData;
type InvokeSubmitActionDataOptions = Partial<Omit<IInvokeSubmitActionData, 'type' | 'value'>>;
/**
 * Represents Teams-specific data in an Action.Submit to make an Invoke request to the Bot.
 */
declare class InvokeSubmitActionData implements IInvokeSubmitActionData {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **invoke**.
     */
    readonly type = "invoke";
    /**
     * The object to send to the Bot with the Invoke request. Can be strongly typed as one of the below values to trigger a specific action in Teams.
     */
    value: any | ICollabStageInvokeDataValue;
    constructor(value?: any | ICollabStageInvokeDataValue, options?: InvokeSubmitActionDataOptions);
    static from(options: Omit<IInvokeSubmitActionData, 'type'>): InvokeSubmitActionData;
    withKey(key: string): this;
    withValue(value: any | ICollabStageInvokeDataValue): this;
}
/**
 * Data for invoking a collaboration stage action.
 */
interface ICollabStageInvokeDataValue {
    /**
     * Must be **tab/tabInfoAction**.
     */
    readonly type: 'tab/tabInfoAction';
    /**
     * Provides information about the iFrame content, rendered in the collab stage popout window.
     */
    tabInfo?: ITabInfo;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type ICollabStageInvokeDataValue.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of CollabStageInvokeDataValue, false otherwise.
 */
declare function isCollabStageInvokeDataValue(value: unknown): value is ICollabStageInvokeDataValue;
type CollabStageInvokeDataValueOptions = Partial<Omit<ICollabStageInvokeDataValue, 'type'>>;
/**
 * Data for invoking a collaboration stage action.
 */
declare class CollabStageInvokeDataValue implements ICollabStageInvokeDataValue {
    /**
     * Must be **tab/tabInfoAction**.
     */
    readonly type = "tab/tabInfoAction";
    /**
     * Provides information about the iFrame content, rendered in the collab stage popout window.
     */
    tabInfo?: ITabInfo;
    constructor(options?: CollabStageInvokeDataValueOptions);
    static from(options: Omit<ICollabStageInvokeDataValue, 'type'>): CollabStageInvokeDataValue;
    withTabInfo(tabInfo: ITabInfo): this;
}
/**
 * Represents information about the iFrame content, rendered in the collab stage popout window.
 */
interface ITabInfo {
    /**
     * The name for the content. This will be displayed as the title of the window hosting the iFrame.
     */
    name?: string;
    /**
     * The URL to open in an iFrame.
     */
    contentUrl?: string;
    /**
     * The unique entity id for this content (e.g., random UUID).
     */
    entityId?: string;
    /**
     * An optional website URL to the content, allowing users to open this content in the browser (if they prefer).
     */
    websiteUrl?: string;
}
type TabInfoOptions = Partial<ITabInfo>;
/**
 * Represents information about the iFrame content, rendered in the collab stage popout window.
 */
declare class TabInfo implements ITabInfo {
    /**
     * The name for the content. This will be displayed as the title of the window hosting the iFrame.
     */
    name?: string;
    /**
     * The URL to open in an iFrame.
     */
    contentUrl?: string;
    /**
     * The unique entity id for this content (e.g., random UUID).
     */
    entityId?: string;
    /**
     * An optional website URL to the content, allowing users to open this content in the browser (if they prefer).
     */
    websiteUrl?: string;
    constructor(options?: TabInfoOptions);
    static from(options: ITabInfo): TabInfo;
    withName(name: string): this;
    withContentUrl(contentUrl: string): this;
    withEntityId(entityId: string): this;
    withWebsiteUrl(websiteUrl: string): this;
}
/**
 * Represents Teams-specific data in an Action.Submit to send a message back to the Bot.
 */
interface IMessageBackSubmitActionData {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **messageBack**.
     */
    readonly type: 'messageBack';
    /**
     * The text that will be sent to the Bot.
     */
    text?: string;
    /**
     * The optional text that will be displayed as a new message in the conversation, as if the end-user sent it. `displayText` is not sent to the Bot.
     */
    displayText?: string;
    /**
     * Optional additional value that will be sent to the Bot. For instance, `value` can encode specific context for the action, such as unique identifiers or a JSON object.
     */
    value?: any;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IMessageBackSubmitActionData.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of MessageBackSubmitActionData, false otherwise.
 */
declare function isMessageBackSubmitActionData(value: unknown): value is IMessageBackSubmitActionData;
type MessageBackSubmitActionDataOptions = Partial<Omit<IMessageBackSubmitActionData, 'type'>>;
/**
 * Represents Teams-specific data in an Action.Submit to send a message back to the Bot.
 */
declare class MessageBackSubmitActionData implements IMessageBackSubmitActionData {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **messageBack**.
     */
    readonly type = "messageBack";
    /**
     * The text that will be sent to the Bot.
     */
    text?: string;
    /**
     * The optional text that will be displayed as a new message in the conversation, as if the end-user sent it. `displayText` is not sent to the Bot.
     */
    displayText?: string;
    /**
     * Optional additional value that will be sent to the Bot. For instance, `value` can encode specific context for the action, such as unique identifiers or a JSON object.
     */
    value?: any;
    constructor(options?: MessageBackSubmitActionDataOptions);
    static from(options: Omit<IMessageBackSubmitActionData, 'type'>): MessageBackSubmitActionData;
    withKey(key: string): this;
    withText(text: string): this;
    withDisplayText(displayText: string): this;
    withValue(value: any): this;
}
/**
 * Represents Teams-specific data in an Action.Submit to sign in a user.
 */
interface ISigninSubmitActionData {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **signin**.
     */
    readonly type: 'signin';
    /**
     * The URL to redirect the end-user for signing in.
     */
    value: string;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type ISigninSubmitActionData.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of SigninSubmitActionData, false otherwise.
 */
declare function isSigninSubmitActionData(value: unknown): value is ISigninSubmitActionData;
type SigninSubmitActionDataOptions = Partial<Omit<ISigninSubmitActionData, 'type' | 'value'>>;
/**
 * Represents Teams-specific data in an Action.Submit to sign in a user.
 */
declare class SigninSubmitActionData implements ISigninSubmitActionData {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **signin**.
     */
    readonly type = "signin";
    /**
     * The URL to redirect the end-user for signing in.
     */
    value: string;
    constructor(value: string, options?: SigninSubmitActionDataOptions);
    static from(options: Omit<ISigninSubmitActionData, 'type'>): SigninSubmitActionData;
    withKey(key: string): this;
    withValue(value: string): this;
}
/**
 * Represents Teams-specific data in an Action.Submit to open a task module.
 */
interface ITaskFetchSubmitActionData {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **task/fetch**.
     */
    readonly type: 'task/fetch';
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type ITaskFetchSubmitActionData.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of TaskFetchSubmitActionData, false otherwise.
 */
declare function isTaskFetchSubmitActionData(value: unknown): value is ITaskFetchSubmitActionData;
type TaskFetchSubmitActionDataOptions = Partial<Omit<ITaskFetchSubmitActionData, 'type'>>;
/**
 * Represents Teams-specific data in an Action.Submit to open a task module.
 */
declare class TaskFetchSubmitActionData implements ITaskFetchSubmitActionData {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **task/fetch**.
     */
    readonly type = "task/fetch";
    constructor(options?: TaskFetchSubmitActionDataOptions);
    static from(options: Omit<ITaskFetchSubmitActionData, 'type'>): TaskFetchSubmitActionData;
    withKey(key: string): this;
}
/**
 * Teams-specific properties associated with the action.
 */
interface ITeamsSubmitActionProperties {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Defines how feedback is provided to the end-user when the action is executed.
     */
    feedback?: ITeamsSubmitActionFeedback;
}
type TeamsSubmitActionPropertiesOptions = Partial<ITeamsSubmitActionProperties>;
/**
 * Teams-specific properties associated with the action.
 */
declare class TeamsSubmitActionProperties implements ITeamsSubmitActionProperties {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Defines how feedback is provided to the end-user when the action is executed.
     */
    feedback?: ITeamsSubmitActionFeedback;
    constructor(options?: TeamsSubmitActionPropertiesOptions);
    static from(options: ITeamsSubmitActionProperties): TeamsSubmitActionProperties;
    withKey(key: string): this;
    withFeedback(feedback: ITeamsSubmitActionFeedback): this;
}
/**
 * Represents feedback options for an [Action.Submit](https://adaptivecards.microsoft.com/?topic=Action.Submit).
 */
interface ITeamsSubmitActionFeedback {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Defines if a feedback message should be displayed after the action is executed.
     */
    hide?: boolean;
}
type TeamsSubmitActionFeedbackOptions = Partial<ITeamsSubmitActionFeedback>;
/**
 * Represents feedback options for an [Action.Submit](https://adaptivecards.microsoft.com/?topic=Action.Submit).
 */
declare class TeamsSubmitActionFeedback implements ITeamsSubmitActionFeedback {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Defines if a feedback message should be displayed after the action is executed.
     */
    hide?: boolean;
    constructor(options?: TeamsSubmitActionFeedbackOptions);
    static from(options: ITeamsSubmitActionFeedback): TeamsSubmitActionFeedback;
    withKey(key: string): this;
    withHide(hide: boolean): this;
}
/**
 * Defines how a card can be refreshed by making a request to the target Bot.
 */
interface IRefreshDefinition {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The Action.Execute action to invoke to refresh the card.
     */
    action?: IExecuteAction;
    /**
     * The list of user Ids for which the card will be automatically refreshed. In Teams, in chats or channels with more than 60 users, the card will automatically refresh only for users specified in the userIds list. Other users will have to manually click on a "refresh" button. In contexts with fewer than 60 users, the card will automatically refresh for all users.
     */
    userIds?: string[];
}
type RefreshDefinitionOptions = Partial<IRefreshDefinition>;
/**
 * Defines how a card can be refreshed by making a request to the target Bot.
 */
declare class RefreshDefinition implements IRefreshDefinition {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The Action.Execute action to invoke to refresh the card.
     */
    action?: IExecuteAction;
    /**
     * The list of user Ids for which the card will be automatically refreshed. In Teams, in chats or channels with more than 60 users, the card will automatically refresh only for users specified in the userIds list. Other users will have to manually click on a "refresh" button. In contexts with fewer than 60 users, the card will automatically refresh for all users.
     */
    userIds?: string[];
    constructor(options?: RefreshDefinitionOptions);
    static from(options: IRefreshDefinition): RefreshDefinition;
    withKey(key: string): this;
    withAction(action: IExecuteAction): this;
    withUserIds(...userIds: string[]): this;
}
/**
 * Defines authentication information associated with a card. For more information, refer to the [Bot Framework OAuthCard type](https://docs.microsoft.com/dotnet/api/microsoft.bot.schema.oauthcard)
 */
interface IAuthentication {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The text that can be displayed to the end user when prompting them to authenticate.
     */
    text?: string;
    /**
     * The identifier for registered OAuth connection setting information.
     */
    connectionName?: string;
    /**
     * The buttons that should be displayed to the user when prompting for authentication. The array MUST contain one button of type “signin”. Other button types are not currently supported.
     */
    buttons?: IAuthCardButton[];
    /**
     * Provides information required to enable on-behalf-of single sign-on user authentication.
     */
    tokenExchangeResource?: ITokenExchangeResource;
}
type AuthenticationOptions = Partial<IAuthentication>;
/**
 * Defines authentication information associated with a card. For more information, refer to the [Bot Framework OAuthCard type](https://docs.microsoft.com/dotnet/api/microsoft.bot.schema.oauthcard)
 */
declare class Authentication implements IAuthentication {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The text that can be displayed to the end user when prompting them to authenticate.
     */
    text?: string;
    /**
     * The identifier for registered OAuth connection setting information.
     */
    connectionName?: string;
    /**
     * The buttons that should be displayed to the user when prompting for authentication. The array MUST contain one button of type “signin”. Other button types are not currently supported.
     */
    buttons?: IAuthCardButton[];
    /**
     * Provides information required to enable on-behalf-of single sign-on user authentication.
     */
    tokenExchangeResource?: ITokenExchangeResource;
    constructor(options?: AuthenticationOptions);
    static from(options: IAuthentication): Authentication;
    withKey(key: string): this;
    withText(text: string): this;
    withConnectionName(connectionName: string): this;
    withButtons(...buttons: IAuthCardButton[]): this;
    withTokenExchangeResource(tokenExchangeResource: ITokenExchangeResource): this;
}
/**
 * Defines a button as displayed when prompting a user to authenticate. For more information, refer to the [Bot Framework CardAction type](https://docs.microsoft.com/dotnet/api/microsoft.bot.schema.cardaction).
 */
interface IAuthCardButton {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **signin**.
     */
    type?: string;
    /**
     * The caption of the button.
     */
    title?: string;
    /**
     * A URL to an image to display alongside the button’s caption.
     */
    image?: string;
    /**
     * The value associated with the button. The meaning of value depends on the button’s type.
     */
    value?: string;
}
type AuthCardButtonOptions = Partial<IAuthCardButton>;
/**
 * Defines a button as displayed when prompting a user to authenticate. For more information, refer to the [Bot Framework CardAction type](https://docs.microsoft.com/dotnet/api/microsoft.bot.schema.cardaction).
 */
declare class AuthCardButton implements IAuthCardButton {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **signin**.
     */
    type?: string;
    /**
     * The caption of the button.
     */
    title?: string;
    /**
     * A URL to an image to display alongside the button’s caption.
     */
    image?: string;
    /**
     * The value associated with the button. The meaning of value depends on the button’s type.
     */
    value?: string;
    constructor(options?: AuthCardButtonOptions);
    static from(options: IAuthCardButton): AuthCardButton;
    withKey(key: string): this;
    withType(type: string): this;
    withTitle(title: string): this;
    withImage(image: string): this;
    withValue(value: string): this;
}
/**
 * Defines information required to enable on-behalf-of single sign-on user authentication. For more information, refer to the [Bot Framework TokenExchangeResource type](https://docs.microsoft.com/dotnet/api/microsoft.bot.schema.tokenexchangeresource)
 */
interface ITokenExchangeResource {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The unique identified of this token exchange instance.
     */
    id?: string;
    /**
     * An application ID or resource identifier with which to exchange a token on behalf of. This property is identity provider- and application-specific.
     */
    uri?: string;
    /**
     * An identifier for the identity provider with which to attempt a token exchange.
     */
    providerId?: string;
}
type TokenExchangeResourceOptions = Partial<ITokenExchangeResource>;
/**
 * Defines information required to enable on-behalf-of single sign-on user authentication. For more information, refer to the [Bot Framework TokenExchangeResource type](https://docs.microsoft.com/dotnet/api/microsoft.bot.schema.tokenexchangeresource)
 */
declare class TokenExchangeResource implements ITokenExchangeResource {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The unique identified of this token exchange instance.
     */
    id?: string;
    /**
     * An application ID or resource identifier with which to exchange a token on behalf of. This property is identity provider- and application-specific.
     */
    uri?: string;
    /**
     * An identifier for the identity provider with which to attempt a token exchange.
     */
    providerId?: string;
    constructor(options?: TokenExchangeResourceOptions);
    static from(options: ITokenExchangeResource): TokenExchangeResource;
    withKey(key: string): this;
    withId(id: string): this;
    withUri(uri: string): this;
    withProviderId(providerId: string): this;
}
/**
 * Represents a set of Teams-specific properties on a card.
 */
interface ITeamsCardProperties {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Controls the width of the card in a Teams chat.
     *
     * Note that setting `width` to "full" will not actually stretch the card to the "full width" of the chat pane. It will only make the card wider than when the `width` property isn't set.
     */
    width?: TeamsCardWidth;
    /**
     * The Teams-specific entities associated with the card.
     */
    entities?: IMention[];
}
type TeamsCardPropertiesOptions = Partial<ITeamsCardProperties>;
/**
 * Represents a set of Teams-specific properties on a card.
 */
declare class TeamsCardProperties implements ITeamsCardProperties {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Controls the width of the card in a Teams chat.
     *
     * Note that setting `width` to "full" will not actually stretch the card to the "full width" of the chat pane. It will only make the card wider than when the `width` property isn't set.
     */
    width?: TeamsCardWidth;
    /**
     * The Teams-specific entities associated with the card.
     */
    entities?: IMention[];
    constructor(options?: TeamsCardPropertiesOptions);
    static from(options: ITeamsCardProperties): TeamsCardProperties;
    withKey(key: string): this;
    withWidth(width: TeamsCardWidth): this;
    withEntities(...entities: IMention[]): this;
}
/**
 * Represents a mention to a person.
 */
interface IMention {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **mention**.
     */
    readonly type: 'mention';
    /**
     * The text that will be substituted with the mention.
     */
    text?: string;
    /**
     * Defines the entity being mentioned.
     */
    mentioned?: IMentionedEntity;
}
/**
 * @hidden
 * @internal
 *
 * Type guard to check if a value is of type IMention.
 *
 * @param value The value to check.
 * @returns True if the value is an instance of Mention, false otherwise.
 */
declare function isMention(value: unknown): value is IMention;
type MentionOptions = Partial<Omit<IMention, 'type'>>;
/**
 * Represents a mention to a person.
 */
declare class Mention implements IMention {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * Must be **mention**.
     */
    readonly type = "mention";
    /**
     * The text that will be substituted with the mention.
     */
    text?: string;
    /**
     * Defines the entity being mentioned.
     */
    mentioned?: IMentionedEntity;
    constructor(options?: MentionOptions);
    static from(options: Omit<IMention, 'type'>): Mention;
    withKey(key: string): this;
    withText(text: string): this;
    withMentioned(mentioned: IMentionedEntity): this;
}
/**
 * Represents a mentioned person or tag.
 */
interface IMentionedEntity {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The Id of a person (typically a Microsoft Entra user Id) or tag.
     */
    id?: string;
    /**
     * The name of the mentioned entity.
     */
    name?: string;
    /**
     * The type of the mentioned entity.
     */
    mentionType?: MentionType;
}
type MentionedEntityOptions = Partial<IMentionedEntity>;
/**
 * Represents a mentioned person or tag.
 */
declare class MentionedEntity implements IMentionedEntity {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The Id of a person (typically a Microsoft Entra user Id) or tag.
     */
    id?: string;
    /**
     * The name of the mentioned entity.
     */
    name?: string;
    /**
     * The type of the mentioned entity.
     */
    mentionType?: MentionType;
    constructor(options?: MentionedEntityOptions);
    static from(options: IMentionedEntity): MentionedEntity;
    withKey(key: string): this;
    withId(id: string): this;
    withName(name: string): this;
    withMentionType(mentionType: MentionType): this;
}
/**
 * Card-level metadata.
 */
interface ICardMetadata {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The URL the card originates from. When `webUrl` is set, the card is dubbed an **Adaptive Card-based Loop Component** and, when pasted in Teams or other Loop Component-capable host applications, the URL will unfurl to the same exact card.
     */
    webUrl?: string;
}
type CardMetadataOptions = Partial<ICardMetadata>;
/**
 * Card-level metadata.
 */
declare class CardMetadata implements ICardMetadata {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The URL the card originates from. When `webUrl` is set, the card is dubbed an **Adaptive Card-based Loop Component** and, when pasted in Teams or other Loop Component-capable host applications, the URL will unfurl to the same exact card.
     */
    webUrl?: string;
    constructor(options?: CardMetadataOptions);
    static from(options: ICardMetadata): CardMetadata;
    withKey(key: string): this;
    withWebUrl(webUrl: string): this;
}
/**
 * The resources that can be used in the body of the card.
 */
interface IResources {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * String resources that can provide translations in multiple languages. String resources make it possible to craft cards that are automatically localized according to the language settings of the application that displays the card.
     */
    strings?: Record<string, IStringResource>;
}
type ResourcesOptions = Partial<IResources>;
/**
 * The resources that can be used in the body of the card.
 */
declare class Resources implements IResources {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * String resources that can provide translations in multiple languages. String resources make it possible to craft cards that are automatically localized according to the language settings of the application that displays the card.
     */
    strings?: Record<string, IStringResource>;
    constructor(options?: ResourcesOptions);
    static from(options: IResources): Resources;
    withKey(key: string): this;
    withStrings(strings: Record<string, IStringResource>): this;
}
/**
 * Defines the replacement string values.
 */
interface IStringResource {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The default value of the string, which is used when no matching localized value is found.
     */
    defaultValue?: string;
    /**
     * Localized values of the string, where keys represent the locale (e.g. `en-US`) in the `<ISO 639-1>(-<ISO 3166-1 alpha-2>)` format. `<ISO 639-1>` is the 2-letter language code and `<ISO 3166-1 alpha-2>` is the optional 2-letter country code.
     */
    localizedValues?: Record<string, string>;
}
type StringResourceOptions = Partial<IStringResource>;
/**
 * Defines the replacement string values.
 */
declare class StringResource implements IStringResource {
    /**
     * Defines an optional key for the object. Keys are seldom needed, but in some scenarios, specifying keys can help maintain visual state in the host application.
     */
    key?: string;
    /**
     * The default value of the string, which is used when no matching localized value is found.
     */
    defaultValue?: string;
    /**
     * Localized values of the string, where keys represent the locale (e.g. `en-US`) in the `<ISO 639-1>(-<ISO 3166-1 alpha-2>)` format. `<ISO 639-1>` is the 2-letter language code and `<ISO 3166-1 alpha-2>` is the optional 2-letter country code.
     */
    localizedValues?: Record<string, string>;
    constructor(options?: StringResourceOptions);
    static from(options: IStringResource): StringResource;
    withKey(key: string): this;
    withDefaultValue(defaultValue: string): this;
    withLocalizedValues(localizedValues: Record<string, string>): this;
}

export { type Action, type ActionArray, type ActionMode, ActionSet, type ActionSetOptions, type ActionStyle, AdaptiveCard, type AdaptiveCardOptions, AreaGridLayout, type AreaGridLayoutOptions, type AssociatedInputs, AuthCardButton, type AuthCardButtonOptions, Authentication, type AuthenticationOptions, BackgroundImage, type BackgroundImageOptions, Badge, type BadgeAppearance, type BadgeIconPosition, type BadgeOptions, type BadgeShape, type BadgeSize, type BadgeStyle, BarChartDataValue, type BarChartDataValueOptions, CalendarEventAttendee, type CalendarEventAttendeeOptions, CalendarEventProperties, type CalendarEventPropertiesOptions, CaptionSource, type CaptionSourceOptions, type CardElement, type CardElementArray, CardMetadata, type CardMetadataOptions, Carousel, type CarouselOptions, CarouselPage, type CarouselPageAnimation, type CarouselPageOptions, type ChartColor, type ChartColorSet, Choice, type ChoiceOptions, ChoiceSetInput, type ChoiceSetInputOptions, type ChoiceSetInputStyle, CodeBlock, type CodeBlockOptions, type CodeLanguage, CollabStageInvokeDataValue, type CollabStageInvokeDataValueOptions, Column, type ColumnArray, ColumnDefinition, type ColumnDefinitionOptions, type ColumnOptions, ColumnSet, type ColumnSetOptions, ComEventMicrosoftGraphComponent, type ComEventMicrosoftGraphComponentOptions, ComFileMicrosoftGraphComponent, type ComFileMicrosoftGraphComponentOptions, ComResourceMicrosoftGraphComponent, type ComResourceMicrosoftGraphComponentOptions, ComUserMicrosoftGraphComponent, type ComUserMicrosoftGraphComponentOptions, ComUsersMicrosoftGraphComponent, type ComUsersMicrosoftGraphComponentOptions, CompoundButton, type CompoundButtonOptions, Container, type ContainerOptions, type ContainerStyle, DateInput, type DateInputOptions, DonutChart, DonutChartData, type DonutChartDataOptions, type DonutChartOptions, type DonutThickness, type ElementHeight, ExecuteAction, type ExecuteActionOptions, Fact, type FactOptions, FactSet, type FactSetOptions, type FallbackAction, type FallbackElement, FileProperties, type FilePropertiesOptions, type FillMode, FlowLayout, type FlowLayoutItemFit, type FlowLayoutOptions, type FontType, GaugeChart, GaugeChartLegend, type GaugeChartLegendOptions, type GaugeChartOptions, type GaugeChartValueFormat, GridArea, type GridAreaOptions, GroupedVerticalBarChart, GroupedVerticalBarChartData, type GroupedVerticalBarChartDataOptions, type GroupedVerticalBarChartOptions, type HorizontalAlignment, HorizontalBarChart, HorizontalBarChartDataValue, type HorizontalBarChartDataValueOptions, type HorizontalBarChartDisplayMode, type HorizontalBarChartOptions, HostCapabilities, type HostCapabilitiesOptions, type IActionSet, type IAdaptiveCard, type IAreaGridLayout, type IAuthCardButton, type IAuthentication, type IBackgroundImage, type IBadge, type IBarChartDataValue, type ICalendarEventAttendee, type ICalendarEventProperties, type ICaptionSource, type ICardMetadata, type ICarousel, type ICarouselPage, type IChoice, type IChoiceSetInput, type ICodeBlock, type ICollabStageInvokeDataValue, type IColumn, type IColumnDefinition, type IColumnSet, type IComEventMicrosoftGraphComponent, type IComFileMicrosoftGraphComponent, type IComResourceMicrosoftGraphComponent, type IComUserMicrosoftGraphComponent, type IComUsersMicrosoftGraphComponent, type ICompoundButton, type IContainer, type IDateInput, type IDonutChart, type IDonutChartData, type IExecuteAction, type IFact, type IFactSet, type IFileProperties, type IFlowLayout, type IGaugeChart, type IGaugeChartLegend, type IGridArea, type IGroupedVerticalBarChart, type IGroupedVerticalBarChartData, type IHorizontalBarChart, type IHorizontalBarChartDataValue, type IHostCapabilities, type IIcon, type IIconInfo, type IIconRun, type IImBackSubmitActionData, type IImage, type IImageRun, type IImageSet, type IInsertImageAction, type IInvokeSubmitActionData, type ILineChart, type ILineChartData, type ILineChartValue, type IMedia, type IMediaSource, type IMention, type IMentionedEntity, type IMessageBackSubmitActionData, type INumberInput, type IOpenUrlAction, type IOpenUrlDialogAction, type IPersonaProperties, type IPersonaSetProperties, type IPieChart, type IPopoverAction, type IProgressBar, type IProgressRing, type IQueryData, type IRating, type IRatingInput, type IRefreshDefinition, type IResetInputsAction, type IResourceProperties, type IResourceVisualization, type IResources, type IRichTextBlock, type IShowCardAction, type ISigninSubmitActionData, type IStackLayout, type IStackedHorizontalBarChart, type IStackedHorizontalBarChartData, type IStackedHorizontalBarChartDataPoint, type IStringResource, type ISubmitAction, type ISubmitActionData, type ITabInfo, type ITable, type ITableCell, type ITableRow, type ITargetElement, type ITaskFetchSubmitActionData, type ITeamsCardProperties, type ITeamsImageProperties, type ITeamsSubmitActionFeedback, type ITeamsSubmitActionProperties, type ITextBlock, type ITextInput, type ITextRun, type IThemedUrl, type ITimeInput, type IToggleInput, type IToggleVisibilityAction, type ITokenExchangeResource, type IVerticalBarChart, type IVerticalBarChartDataValue, Icon, IconInfo, type IconInfoOptions, type IconName, type IconOptions, IconRun, type IconRunOptions, type IconSize, type IconStyle, ImBackSubmitActionData, type ImBackSubmitActionDataOptions, Image, type ImageFitMode, type ImageInsertPosition, type ImageOptions, ImageRun, type ImageRunOptions, ImageSet, type ImageSetOptions, type ImageSize, type ImageStyle, type InputTextStyle, InsertImageAction, type InsertImageActionOptions, InvokeSubmitActionData, type InvokeSubmitActionDataOptions, LineChart, LineChartData, type LineChartDataOptions, type LineChartOptions, LineChartValue, type LineChartValueOptions, Media, type MediaOptions, MediaSource, type MediaSourceOptions, Mention, type MentionOptions, type MentionType, MentionedEntity, type MentionedEntityOptions, type MenuActionArray, MessageBackSubmitActionData, type MessageBackSubmitActionDataOptions, NumberInput, type NumberInputOptions, OpenUrlAction, type OpenUrlActionOptions, OpenUrlDialogAction, type OpenUrlDialogActionOptions, type PersonaDisplayStyle, type PersonaIconStyle, PersonaProperties, type PersonaPropertiesOptions, PersonaSetProperties, type PersonaSetPropertiesOptions, PieChart, type PieChartOptions, PopoverAction, type PopoverActionOptions, type PopoverPosition, ProgressBar, type ProgressBarColor, type ProgressBarOptions, ProgressRing, type ProgressRingLabelPosition, type ProgressRingOptions, type ProgressRingSize, QueryData, type QueryDataOptions, Rating, type RatingColor, RatingInput, type RatingInputOptions, type RatingOptions, type RatingSize, type RatingStyle, RefreshDefinition, type RefreshDefinitionOptions, ResetInputsAction, type ResetInputsActionOptions, ResourceProperties, type ResourcePropertiesOptions, ResourceVisualization, type ResourceVisualizationOptions, Resources, type ResourcesOptions, RichTextBlock, type RichTextBlockInlineArray, type RichTextBlockOptions, ShowCardAction, type ShowCardActionOptions, SigninSubmitActionData, type SigninSubmitActionDataOptions, type Size, type Spacing, StackLayout, type StackLayoutOptions, StackedHorizontalBarChart, StackedHorizontalBarChartData, type StackedHorizontalBarChartDataOptions, StackedHorizontalBarChartDataPoint, type StackedHorizontalBarChartDataPointOptions, type StackedHorizontalBarChartOptions, StringResource, type StringResourceOptions, SubmitAction, SubmitActionData, type SubmitActionDataOptions, type SubmitActionOptions, TabInfo, type TabInfoOptions, Table, TableCell, type TableCellArray, type TableCellOptions, type TableOptions, TableRow, type TableRowArray, type TableRowOptions, TargetElement, type TargetElementOptions, type TargetWidth, TaskFetchSubmitActionData, type TaskFetchSubmitActionDataOptions, TeamsCardProperties, type TeamsCardPropertiesOptions, type TeamsCardWidth, TeamsImageProperties, type TeamsImagePropertiesOptions, TeamsSubmitActionFeedback, type TeamsSubmitActionFeedbackOptions, TeamsSubmitActionProperties, type TeamsSubmitActionPropertiesOptions, TextBlock, type TextBlockOptions, type TextBlockStyle, type TextColor, TextInput, type TextInputOptions, TextRun, type TextRunOptions, type TextSize, type TextWeight, type ThemeName, ThemedUrl, type ThemedUrlOptions, TimeInput, type TimeInputOptions, ToggleInput, type ToggleInputOptions, ToggleVisibilityAction, type ToggleVisibilityActionOptions, TokenExchangeResource, type TokenExchangeResourceOptions, type Version, type VerticalAlignment, VerticalBarChart, VerticalBarChartDataValue, type VerticalBarChartDataValueOptions, type VerticalBarChartOptions, isActionSet, isAdaptiveCard, isAreaGridLayout, isBadge, isCarousel, isCarouselPage, isChoiceSetInput, isCodeBlock, isCollabStageInvokeDataValue, isColumn, isColumnSet, isComEventMicrosoftGraphComponent, isComFileMicrosoftGraphComponent, isComResourceMicrosoftGraphComponent, isComUserMicrosoftGraphComponent, isComUsersMicrosoftGraphComponent, isCompoundButton, isContainer, isDateInput, isDonutChart, isExecuteAction, isFactSet, isFlowLayout, isGaugeChart, isGroupedVerticalBarChart, isHorizontalBarChart, isIcon, isIconRun, isImBackSubmitActionData, isImage, isImageRun, isImageSet, isInsertImageAction, isInvokeSubmitActionData, isLineChart, isMedia, isMention, isMessageBackSubmitActionData, isNumberInput, isOpenUrlAction, isOpenUrlDialogAction, isPieChart, isPopoverAction, isProgressBar, isProgressRing, isQueryData, isRating, isRatingInput, isResetInputsAction, isRichTextBlock, isShowCardAction, isSigninSubmitActionData, isStackLayout, isStackedHorizontalBarChart, isSubmitAction, isTable, isTableCell, isTableRow, isTaskFetchSubmitActionData, isTextBlock, isTextInput, isTextRun, isTimeInput, isToggleInput, isToggleVisibilityAction, isVerticalBarChart };
