import * as Adaptive from "adaptivecards"; import { IPoint } from "./miscellaneous"; import * as DesignerPeers from "./designer-peers"; import { HostContainer } from "./containers"; import { FieldDefinition } from "./data"; export declare enum BindingPreviewMode { NoPreview = 0, GeneratedData = 1, SampleData = 2 } export declare type CardElementType = { new (): Adaptive.CardElement; }; export declare type ActionType = { new (): Adaptive.Action; }; export declare type CardElementPeerType = { new (parent: DesignerPeers.DesignerPeer, designerSurface: CardDesignerSurface, registration: DesignerPeers.DesignerPeerRegistrationBase, cardElement: Adaptive.CardElement, initializeCardElement?: boolean): DesignerPeers.CardElementPeer; }; export declare type ActionPeerType = { new (parent: DesignerPeers.DesignerPeer, designerSurface: CardDesignerSurface, registration: DesignerPeers.DesignerPeerRegistrationBase, action: Adaptive.Action): DesignerPeers.ActionPeer; }; export declare abstract class DesignerPeerRegistry { protected _items: Array>; readonly defaultRegistration: DesignerPeers.DesignerPeerRegistrationBase; constructor(); abstract reset(): any; clear(): void; findTypeRegistration(sourceType: TSource): DesignerPeers.DesignerPeerRegistration; registerPeer(sourceType: TSource, peerType: TPeer, category: string, iconClass?: string): void; unregisterPeer(sourceType: TSource): void; } export declare class CardElementPeerRegistry extends DesignerPeerRegistry { reset(): void; createPeerInstance(designerSurface: CardDesignerSurface, parent: DesignerPeers.DesignerPeer, cardElement: Adaptive.CardElement, initializeCardElement?: boolean): DesignerPeers.CardElementPeer; } export declare class ActionPeerRegistry extends DesignerPeerRegistry { reset(): void; createPeerInstance(designerSurface: CardDesignerSurface, parent: DesignerPeers.DesignerPeer, action: Adaptive.Action): DesignerPeers.ActionPeer; } export declare abstract class DesignContext { abstract get hostContainer(): HostContainer; abstract get targetVersion(): Adaptive.Version; abstract get dataStructure(): FieldDefinition; abstract get hostDataStructure(): FieldDefinition; abstract get bindingPreviewMode(): BindingPreviewMode; abstract get sampleData(): any; abstract get sampleHostData(): any; } export declare class CardDesignerSurface { readonly context: DesignContext; static readonly cardElementPeerRegistry: CardElementPeerRegistry; static readonly actionPeerRegistry: ActionPeerRegistry; private _updateCount; private _card; private _allPeers; private _rootPeer; private _cardHost; private _designerSurface; private _selectedPeer; private _draggedPeer; private _dropTarget; private _dragHandle; private _removeCommandElement; private _peerCommandsHostElement; private _serializationContext; private _isPreviewMode; private _dragVisual?; private _shouldPersistSelectedElement; private _persistentSelectedPeer; private _persistentSelectedCardElement; private updatePeerCommandsLayout; private setSelectedPeer; private peerChanged; private peerRemoved; private generateCardToRender; private renderCard; private appendErrorMessage; private addPeer; private internalFindDropTarget; private findCardElementPeer; private findActionPeer; private inlineCardExpanded; private get card(); private setDraggedPeer; constructor(context: DesignContext); onCardValidated: (logEntries: Adaptive.IValidationEvent[]) => void; onSelectedPeerChanged: (peer: DesignerPeers.DesignerPeer) => void; onLayoutUpdated: (isFullRefresh: boolean) => void; fixedHeightCard: boolean; getDesignerSurfaceOffset(): IPoint; findDropTarget(pointerPosition: IPoint, peer: DesignerPeers.DesignerPeer): DesignerPeers.DesignerPeer; findPeer(cardObject: Adaptive.CardObject): DesignerPeers.DesignerPeer; beginUpdate(): void; endUpdate(renderCard: boolean): void; render(): void; getCardPayloadAsObject(): object; setCardPayloadAsObject(payload: object): void; setCardPayloadAsString(payload: string): void; getBoundCardPayloadAsObject(): object; updateLayout(isFullRefresh?: boolean): void; removeSelected(): void; onStartDrag: (sender: CardDesignerSurface) => void; onEndDrag: (sender: CardDesignerSurface, wasCancelled: boolean) => void; startDrag(peer: DesignerPeers.DesignerPeer): void; endDrag(wasCancelled: boolean): void; getPeerDOMNeighbor(peer: DesignerPeers.DesignerPeer): HTMLElement; getLastPeerInContainer(parentContainer: DesignerPeers.DesignerPeer): DesignerPeers.DesignerPeer; tryDrop(pointerPosition: IPoint, peer: DesignerPeers.DesignerPeer): boolean; isPointerOver(x: number, y: number): boolean; pageToClientCoordinates(x: number, y: number): IPoint; get rootPeer(): DesignerPeers.DesignerPeer; get selectedPeer(): DesignerPeers.DesignerPeer; get draggedPeer(): DesignerPeers.DesignerPeer; get isPreviewMode(): boolean; set isPreviewMode(value: boolean); set shouldPersistSelectedElement(shouldPersistSelectedElement: boolean); }