import IFormDefinition from "../dataform/IFormDefinition";
import Action from "./Action";
import ActionGroup from "./ActionGroup";
import IAction, { ActionContextType } from "./IAction";
import IActionGroup from "./IActionGroup";
import { ActionSetTarget } from "./IActionSetData";
export interface IActionSetActionType {
    id: string;
    title: string;
    requiredContextType: ActionContextType;
}
export interface IActionType {
    id: string;
    title: string;
    form: IFormDefinition;
}
export declare const GroupActions: string[];
export declare class ActionSetCatalog {
    static getEntityLegacyFiltersSet(): Promise<IActionType[]>;
    static getScriptSet(): Promise<IActionType[]>;
    static addTypesFromFormFolder(actionList: IActionType[], folderName: string, actionSetTarget: ActionSetTarget): Promise<void>;
    getDefaultContextForTarget(actionSetTarget: ActionSetTarget): ActionContextType.general | ActionContextType.entity;
    static getActionCatalog(actionSetTarget: ActionSetTarget): Promise<IActionType[]>;
    static createActionGroup(parent: ActionGroup, data: IActionGroup, id?: string): ActionGroup;
    static createActionOrGroup(parent: ActionGroup, type: string, data?: IAction | ActionGroup, id?: string): Action | ActionGroup;
    static createAction(parent: ActionGroup, type: string, data?: IAction, id?: string): Action;
}
