import { HTMLTemplateResult, LitElement } from 'lit';
import { ObcAlertFrameStatus, ObcAlertFrameThickness, ObcAlertFrameType } from '../../components/alert-frame/alert-frame.js';
import { AutomationButtonReadoutStack, AutomationButtonReadoutStackSize, AutomationButtonReadoutStackTag } from '../../components/automation-button-readout-stack/automation-button-readout-stack.js';
import { CircularProgressMode } from '../../building-blocks/circular-progress/circular-progress.js';
import '../../icons/icon-forward.js';
import '../../icons/icon-forward-fast.js';
import '../../icons/icon-forward-stopped.js';
import '../../icons/icon-backward.js';
import '../../icons/icon-backward-fast.js';
import '../../icons/icon-backward-stopped.js';
import '../../icons/icon-standby.js';
import '../../icons/icon-arrow-up-google.js';
import '../../icons/icon-arrow-down-google.js';
import '../../icons/icon-arrow-left-google.js';
import '../../icons/icon-arrow-right-google.js';
import '../../components/alert-frame/alert-frame.js';
import '../../components/automation-button-readout-stack/automation-button-readout-stack.js';
import '../../building-blocks/circular-progress/circular-progress.js';
export { CircularProgressMode };
export declare enum AutomationButtonVariant {
    regular = "regular",
    double = "double",
    square = "square",
    flat = "flat"
}
export declare enum AutomationButtonState {
    closed = "closed",
    open = "open"
}
export declare enum AutomationButtonReadoutPosition {
    top = "top",
    bottom = "bottom",
    left = "left",
    right = "right"
}
export declare enum AutomationButtonDirection {
    forward = "forward",
    forwardFast = "forward-fast",
    forwardStopped = "forward-stopped",
    backward = "backward",
    backwardFast = "backward-fast",
    backwardStopped = "backward-stopped",
    standby = "standby"
}
export declare enum AutomationButtonLabelDirection {
    up = "up",
    down = "down",
    left = "left",
    right = "right"
}
/**
 * The positioning of the automation button.
 * - `point`: The button is wrapped in a 0x0 px div, where the center of the symbol is the center of the div.
 * - `symbol`: The button is wrapped in a div containing the symbol but not the readout stack
 * - `button`: The button not wrapped, in is positioned based on the full size of the button.
 */
export declare enum AutomationButtonPositioning {
    point = "point",
    symbol = "symbol",
    button = "button"
}
export declare class ObcAutomationButton extends LitElement {
    variant: AutomationButtonVariant;
    state: AutomationButtonState;
    static: boolean;
    showReadoutStack: boolean;
    readouts: AutomationButtonReadoutStack[];
    tag: AutomationButtonReadoutStackTag | null;
    hasIdTag: boolean;
    readoutPosition: AutomationButtonReadoutPosition;
    readoutSize: AutomationButtonReadoutStackSize;
    alert: boolean;
    alertFrameType: ObcAlertFrameType;
    alertFrameThickness: ObcAlertFrameThickness;
    alertFrameStatus: ObcAlertFrameStatus;
    showAlertCategoryIcon: boolean;
    showAlertIcon: boolean;
    progress: boolean;
    progressMode: CircularProgressMode;
    progressValue: number;
    direction: AutomationButtonDirection;
    positioning: AutomationButtonPositioning;
    /** Badge spacer should be set to true if there is a badge on the same side as the label */
    hasBadgeSpacer: boolean;
    render(): HTMLTemplateResult;
    private wrapContent;
    static styles: import('lit').CSSResult;
    private getProgressRing;
    private getDirectionIcon;
    private getIdTagOrientation;
}
declare global {
    interface HTMLElementTagNameMap {
        'obc-automation-button': ObcAutomationButton;
    }
}
//# sourceMappingURL=automation-button.d.ts.map