import { EventEmitter } from '../../../../stencil.core';
import { ActionCallback, ActionDefinition } from '../../table.types';
export declare class Action implements ActionDefinition {
    /**
     * Label to display when in a dropdown.
     */
    caption: string;
    /**
     * If true, the action will render but cannot be interacted with.
     */
    disabled: boolean;
    /**
     * Function to decide which icon to use.
     * (action: RowActionDefinition, row: RowData) => boolean;
     */
    disabledFn: ActionCallback;
    /**
     * If true, the action will not be rendered. This is different than the opacity games we play with row actions.
     */
    hidden: boolean;
    /**
     * Function to decide if the action is hidden
     * (action: RowActionDefinition, row: RowData) => boolean;
     */
    hiddenFn: ActionCallback;
    /**
     * Icon ligature to be used when a "primary" action.
     */
    icon: string;
    /**
     * Function to decide which icon to use.
     * (action: RowActionDefinition, row: RowData) => string;
     */
    iconFn: ActionCallback;
    /**
     * Name of the action to take. Useful for decision making in the callback
     */
    name: string;
    /**
     * Optional payload to be passed along when selected
     */
    payload: any;
    /**
     * The scope of the action. The default of undefined scopes the action to the row level. A scope of "table" places it in the table header.
     */
    scope: 'table' | undefined;
    anjActionChange: EventEmitter<void>;
    onChange(): void;
    componentDidLoad(): void;
}
