import ReactEcs from '@dcl/sdk/react-ecs';
import { Callback } from '@dcl/react-ecs/dist/components/listeners/types';
import { EntityPropTypes } from '@dcl/react-ecs/dist/components/types';
import { UiLabelProps } from '@dcl/react-ecs/dist/components/Label/types';
import { InPromptUIObject, InPromptUIObjectConfig } from '../../InPromptUIObject';
export type PromptButtonLabelElementProps = EntityPropTypes & Omit<UiLabelProps, 'value'>;
export type PromptButtonIconElementProps = Omit<EntityPropTypes, 'uiTransform'> & {
    uiTransform?: Omit<NonNullable<EntityPropTypes['uiTransform']>, 'margin' | 'display'>;
};
export type PromptButtonImageElementProps = Omit<EntityPropTypes, 'uiTransform' | 'onMouseDown'> & {
    uiTransform?: Omit<NonNullable<EntityPropTypes['uiTransform']>, 'position' | 'display'>;
};
export declare enum PromptButtonStyles {
    E = "E",
    F = "F",
    DARK = "dark",
    RED = "red",
    ROUNDBLACK = "roundBlack",
    ROUNDWHITE = "roundWhite",
    ROUNDSILVER = "roundSilver",
    ROUNDGOLD = "roundGold",
    SQUAREBLACK = "squareBlack",
    SQUAREWHITE = "squareWhite",
    SQUARESILVER = "squareSilver",
    SQUAREGOLD = "squareGold"
}
export type PromptButtonConfig = InPromptUIObjectConfig & {
    text: string | number;
    xPosition?: number;
    yPosition?: number;
    positionAbsolute?: boolean;
    onMouseDown: Callback;
    style?: PromptButtonStyles;
    buttonSize?: number | 'auto';
};
export declare class PromptButton extends InPromptUIObject {
    labelElement: PromptButtonLabelElementProps;
    imageElement: PromptButtonImageElementProps;
    imageElementCorner: PromptButtonImageElementProps;
    imageElementEdge: PromptButtonImageElementProps;
    iconElement: PromptButtonIconElementProps;
    text: string | number;
    xPosition: number;
    yPosition: number;
    positionAbsolute: boolean;
    onMouseDown: Callback;
    private _xPosition;
    private _yPosition;
    private readonly _width;
    private readonly _height;
    private _disabled;
    private readonly _labelColor;
    private readonly _labelDisabledColor;
    private readonly _style;
    private readonly _isEStyle;
    private readonly _isFStyle;
    private _buttonSystemInputAction;
    constructor({ parent, startHidden, text, xPosition, yPosition, positionAbsolute, onMouseDown, style, buttonSize, }: PromptButtonConfig);
    show(): void;
    hide(): void;
    grayOut(): void;
    enable(): void;
    render(key?: string): ReactEcs.JSX.Element;
    private _click;
    private _buttonIconPos;
    private _createSystemInputAction;
    private _clearSystemInputAction;
}
