import { ClientApplication } from '../client/types'; import { Indexable } from './merge'; import { ActionCallback, ActionSetInterface, ActionSubscription, Component, ErrorCallback, Unsubscribe } from './types'; export declare function actionWrapper(action: any): any; export declare function getVersion(): any; /** * Returns full event name with prefix, group, subgroups and type formatted with separators * @internal * */ export declare function getEventNameSpace(group: string, eventName: string, component?: Component): string; export declare function isValidOptionalNumber(value?: number): boolean; export declare function isValidOptionalString(value?: string): boolean; export declare abstract class ActionSet implements ActionSetInterface { app: ClientApplication; type: string; group: string; readonly id: string; readonly defaultGroup: string; subgroups: string[]; subscriptions: ActionSubscription[]; constructor(app: ClientApplication, type: string, group: string, id?: string); set(..._: any[]): void; readonly component: Component; updateSubscription(subscriptionToRemove: ActionSubscription, group: string, subgroups: string[]): Unsubscribe; error(callback: ErrorCallback): Unsubscribe; subscribe(eventName: string, callback: ActionCallback, component?: Component, currentIndex?: number): Unsubscribe; unsubscribe(resetOnly?: boolean): this; } export declare abstract class ActionSetWithChildren extends ActionSet { children: ActionSetChildAction[]; unsubscribe(unsubscribeChildren?: boolean, resetParentOnly?: boolean): this; getChild(id: string): ActionSetChildAction | undefined; getChildIndex(id: string): number; getChildSubscriptions(id: string, eventType?: string): ActionSubscription[]; addChild(child: ActionSetChildAction, group: string, subgroups: string[]): this; removeChild(id: string): this; subscribeToChild(child: ActionSetChildAction, eventName: string | string[], callback: (childData: any) => void): this; getUpdatedChildActions(newActions: A[], currentActions: A[]): A[] | undefined; } export declare type ActionSetChildAction = ActionSet | ActionSetWithChildren; export declare function updateActionFromPayload>(action: A, newProps: A): boolean; export declare function getMergedProps(props: Prop, newProps: Partial): Prop; export declare function forEachInEnum(types: E, callback: (prop: string) => void): void; export declare function findMatchInEnum(types: E, lookup: string): string | undefined;