/**
 * This file is part of the NocoBase (R) project.
 * Copyright (c) 2020-2024 NocoBase Co., Ltd.
 * Authors: NocoBase Team.
 *
 * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
 * For more information, please refer to: https://www.nocobase.com/agreement.
 */
import { DefaultStructure, FlowModel } from '@nocobase/flow-engine';
import type { ButtonProps } from 'antd/es/button';
import React from 'react';
export declare function ActionWithoutPermission(props: any): React.JSX.Element;
export type ActionSceneType = 'collection' | 'record' | ActionSceneType[];
export declare const ActionSceneEnum: {
    collection: ActionSceneType;
    record: ActionSceneType;
    all: ActionSceneType;
    both: ActionSceneType;
};
export declare class ActionModel<T extends DefaultStructure = DefaultStructure> extends FlowModel<T> {
    props: ButtonProps & {
        tooltip?: string;
        iconOnly?: boolean;
    };
    scene: ActionSceneType;
    defaultProps: ButtonProps & {
        tooltip?: string;
        iconOnly?: boolean;
    };
    enableEditTooltip: boolean;
    enableEditTitle: boolean;
    enableEditIcon: boolean;
    enableEditType: boolean;
    enableEditDanger: boolean;
    enableEditColor: boolean;
    buttonTypeOptions: {
        value: string;
        label: string;
    }[];
    static _getScene(): any[];
    static _isScene(scene: ActionSceneType): boolean;
    getAclActionName(): any;
    onInit(options: any): void;
    getInputArgs(): Record<string, any>;
    onClick(event: any): void;
    getTitle(): string;
    getIcon(): React.ReactNode;
    renderButton(): React.JSX.Element;
    render(): React.JSX.Element;
    renderHiddenInConfig(): React.ReactNode | undefined;
}
