/// <reference types="../../index.d.ts" />
import { PublicLitElement as LitElement, JsxNode, TargetedEvent } from '@arcgis/lumina';
import { InteractiveComponent } from '../../utils/interactive';
import { Alignment, Appearance, Scale, Width } from '../interfaces';
import { IconNameOrString } from '../calcite-icon/interfaces';

/**
 * @slot  - A slot for adding a `calcite-icon`.
 * @slot [tooltip] - [Deprecated] Use the `calcite-tooltip` component instead.
 */
export declare class Action extends LitElement {
    /**
     * When `true`, the component is highlighted.
     *
     * @default false
     */
    active: boolean;
    /** Specifies the horizontal alignment of button elements with text content. */
    alignment: Alignment;
    /**
     * Specifies the appearance of the component.
     *
     * @default "solid"
     */
    appearance: Extract<"solid" | "transparent", Appearance>;
    /**
     * When `true`, the side padding of the component is reduced.
     *
     * @deprecated No longer necessary.
     * @default false
     */
    compact: boolean;
    /**
     * When `true`, interaction is prevented and the component is displayed with lower opacity.
     *
     * @default false
     */
    disabled: boolean;
    /** Specifies an icon to display. */
    icon: IconNameOrString;
    /**
     * When `true`, the icon will be flipped when the element direction is right-to-left (`"rtl"`).
     *
     * @default false
     */
    iconFlipRtl: boolean;
    /**
     * When `true`, displays a visual indicator.
     *
     * @default false
     */
    indicator: boolean;
    /** Specifies the label of the component. If no label is provided, the label inherits what's provided for the `text` prop. */
    label: string;
    /**
     * When `true`, a busy indicator is displayed.
     *
     * @default false
     */
    loading: boolean;
    /** Use this property to override individual strings used by the component. */
    messageOverrides?: typeof this.messages._overrides;
    /**
     * Specifies the size of the component.
     *
     * @default "m"
     */
    scale: Scale;
    /**
     * Specifies text that accompanies the icon.
     *
     * @required
     */
    text: string;
    /**
     * Indicates whether the text is displayed.
     *
     * @default false
     */
    textEnabled: boolean;
    /** Sets focus on the component. */
    setFocus(): Promise<void>;
    private messages: {
        loading: string;
        indicator: string;
        indicatorLabel: string;
    } & import('@arcgis/lumina/controllers').T9nMeta<{
        loading: string;
        indicator: string;
        indicatorLabel: string;
    }>;
}
