import { Event, HybridActionContextElement, HybridActionContextElements, HybridActionEvent, HybridManager, ModelAdapter, RemoteEvent } from '../../index';
export declare class HybridManagerAdapter extends ModelAdapter {
    widget: HybridManager;
    onModelAction(event: RemoteEvent): void;
    protected _onHybridEvent(event: HybridRemoteEvent): void;
    protected _onHybridWidgetEvent(event: HybridRemoteEvent): void;
    protected _onWidgetEvent(event: Event<HybridManager>): void;
    protected _onWidgetHybridAction(event: HybridActionEvent): void;
    protected _jsonToContextElements(jsonContextElements: Record<string, JsonHybridActionContextElement[]>): HybridActionContextElements;
    protected _jsonToContextElementList(jsonContextElements: JsonHybridActionContextElement[]): HybridActionContextElement[];
    protected _jsonToContextElement(jsonContextElement: JsonHybridActionContextElement): HybridActionContextElement;
    protected _jsonToModelElement(adapter: ModelAdapter, jsonElement: any): any;
    protected _contextElementsToJson(contextElements: HybridActionContextElements): Record<string, JsonHybridActionContextElement[]>;
    protected _contextElementListToJson(contextElements: HybridActionContextElement[]): JsonHybridActionContextElement[];
    protected _contextElementToJson(contextElement: HybridActionContextElement): JsonHybridActionContextElement;
    protected _modelElementToJson(adapter: ModelAdapter, modelElement: any): any;
}
interface HybridRemoteEvent<TObject = object> extends RemoteEvent {
    id: string;
    eventType: string;
    data: TObject;
    contextElements: Record<string, JsonHybridActionContextElement[]>;
}
export interface JsonHybridActionContextElement {
    /** adapter id */
    widget: string;
    /** widget-specific element representation */
    element?: any;
}
export {};
//# sourceMappingURL=HybridManagerAdapter.d.ts.map