/**
 * @license Copyright (c) 2003-2022, RAONWIZ DevTeam. All rights reserved.
 */
import { ComponentAction } from './types';
/**
 * Two types of events are discerned:
 *
 * - `component` events are associated with native component events. In addition, custom events can be specified.
 * - `namespace` events are additional events provided by React integration.
 */
/**
 * Available `component` events.
 */
export declare const events: readonly ["loaded", "creationComplete", "destroy"];
/**
 * Available `namespace` events.
 *
 * - `beforeLoad`: fired before an component instance is created
 * - `namespaceLoaded`: fired after Component namespace is created; fired only once regardless of number of component instances
 */
export declare const namespaceEvents: readonly ["beforeLoad", "namespaceLoaded"];
/**
 * Combines `component` and `namespace` events.
 */
export declare const defaultEvents: ("loaded" | "creationComplete" | "destroy" | "beforeLoad" | "namespaceLoaded")[];
/**
 * Events as action types should be prefixed to allow easier consumption by downstream reducers.
 */
export declare const EVENT_PREFIX = "__RDE__";
/**
 * Prefixes event name: `creationComplete` -> `__RDE__creationComplete`.
 *
 * @param evtName event name
 * @returns prefixed event name
 */
export declare function prefixEventName(evtName: string): string;
/**
 * Strips prefix from event name. `__RDE__creationComplete` -> `creationComplete`.
 *
 * @param evtName prefixed event name
 * @returns event name
 */
export declare function stripPrefix(prefixedEventName: string): string;
/**
 * Transforms prefixed event name to a handler name, e.g. `creationComplete` -> `oncreationComplete`.
 *
 * @param evtName event name
 * @returns handler name
 */
export declare function eventNameToHandlerName(evtName: string): string;
/**
 * Transforms handler name to event name, e.g. `onCreationComplete` -> `creationComplete`.
 *
 * @param handlerName event name
 * @returns handler name
 */
export declare function handlerNameToEventName(handlerName: string): string;
/**
 * Provides an object with event names as keys and prefixed names as values, e.g. `{ creationComplete: __RDE__creationComplete }`.
 * This allows to easily mix component event actions and own actions in downstream reducers.
 */
export declare const ComponentEventAction: ComponentAction;
