import { Action } from './Action';
import { IChangeTypeWidgetProps, ICreateWidgetProps, IRemoveWidgetProps, ITransferWidgetProps } from '../interfaces/IWidgetProps';
/**
 * Енумератор действий
 */
export declare enum EWidgetActions {
    removeWidget = "removeWidget",
    createWidget = "createWidget",
    changeTypeWidget = "changeTypeWidget",
    transferWidget = "transferWidget"
}
/**
 * Действие - создать виджет
 */
export declare class CreateWidgetAction extends Action<ICreateWidgetProps> {
    index?: number;
    readonly type = EWidgetActions.createWidget;
    prev_guid: string;
    next_guid: string;
    constructor(documentId: string, pageId: string, props: ICreateWidgetProps, index?: number);
    /**
     * Получить объект для сериализации
     * @returns Объект для сериализации
     */
    toJSON(): any;
}
/**
 * Действие - Переместить виджет
 */
export declare class TransferWidgetAction extends Action<ITransferWidgetProps> {
    readonly type = EWidgetActions.transferWidget;
}
/**
 * Действие - Изменить тип компонента
 */
export declare class ChangeTypeWidgetAction extends Action<IChangeTypeWidgetProps> {
    readonly type = EWidgetActions.changeTypeWidget;
}
/**
 * Действие - удалить виджет
 */
export declare class RemoveWidgetAction extends Action<IRemoveWidgetProps> {
    prev_guid: string;
    next_guid: string;
    readonly type = EWidgetActions.removeWidget;
    /**
    * Получить объект для сериализации
    * @returns Объект для сериализации
    */
    toJSON(): any;
}
export declare type WidgetActions = CreateWidgetAction | RemoveWidgetAction | TransferWidgetAction | ChangeTypeWidgetAction;
