import { ListenerAction, ListenerContext } from '../actions/Action';
export interface EventListeners {
    [propName: string]: {
        weight?: number;
        actions: ListenerAction[];
    };
}
export interface OnEventProps {
    onEvent?: {
        [propName: string]: {
            weight?: number;
            actions: ListenerAction[];
        };
    };
}
export interface RendererEventListener {
    renderer: ListenerContext;
    type: string;
    weight: number;
    actions: ListenerAction[];
}
export declare type RendererEvent<T, P = any> = {
    context: T;
    type: string;
    prevented?: boolean;
    stoped?: boolean;
    data?: P;
    preventDefault: () => void;
    stopPropagation: () => void;
    setData: (data: P) => void;
};
export interface RendererEventContext {
    data?: any;
    [propName: string]: any;
}
export declare function createRendererEvent<T extends RendererEventContext>(type: string, context: T): RendererEvent<T>;
declare const _default: {};
export default _default;
