import { MyopMessageKey } from "../common/MyopMessages"; import { IMyopComponent } from "../host"; import { IRefConfig } from "../common"; export declare class MessageDirection { static down: "down"; static up: "up"; } export type MessageDirectionOption = 'up' | 'down'; export declare abstract class BaseMyopMessage { id: string; static create) => T = typeof this>(this: U, ...args: ConstructorParameters): InstanceType; constructor(); myop: boolean; abstract messageType: MyopMessageKey | string; content?: T; source?: string; destination?: string; route?: string[]; ref?: Ref; direction?: MessageDirectionOption; cleanable: boolean; isTypeof(msg: BaseMyopMessage): boolean; } export declare abstract class MyopElementMessage extends BaseMyopMessage { ref: Ref; constructor(ref: Ref); } export declare abstract class MyopBindReplayMessage extends BaseMyopMessage { replayToHandler?: string; constructor(replayToHandler?: string); } export declare abstract class MyopBindMessage extends BaseMyopMessage { handler: (message: R) => void; abstract replyMessageKey: MyopMessageKey; handlerUniqueId: string; constructor(handler: (message: R) => void); } export declare class Ref { refConfig: IRefConfig; component?: IMyopComponent; myop: boolean; __nonProxied?: Ref; static create(selector: string, refConfig?: IRefConfig, component?: IMyopComponent): Ref; constructor(refConfig: IRefConfig, component?: IMyopComponent); }