import { Functional } from "../..//tags/model/Functional"; import { ElementProxy } from "../ElementProxy"; import { IElement } from "../IElement"; export declare type EventSubscribe = (eventData: EventData, ...globalVariables: any[]) => any; export declare type EventPublish = () => any; export declare class EventData { $event: { name: string; time: number; data: any; }; constructor(name: string, data: any); } export default class Event implements IElement { proxy: ElementProxy; $$: IElement; $: this; name: string; emitProps?: string | Functional | object | EventPublish; onProps?: string | Functional | EventSubscribe; waitOnEvent?: boolean; title?: string; init(props: any): void; emit(data: any): void; on(cb: (eventData: EventData) => any): void; prepare(): Promise; exec(): Promise; }