import { DefinedButtonStateStyles } from '../../../../../types/buttonInternal';
import { DropupMenuStyles, DropupStyles } from '../../../../../types/dropupStyles';
import { InputButton } from '../inputButton';
import { Buttons } from '../../input';
import { CustomButton as CustomButtonT, CustomButtonStyles, CustomDropupItemStyles } from '../../../../../types/customButton';
type Styles = DefinedButtonStateStyles<CustomButtonStyles>;
export type CustomButtonDropupStyles = Pick<CustomDropupItemStyles, 'default' | 'active' | 'disabled'>;
export declare class CustomButton extends InputButton<Styles> {
    static readonly INDICATOR_PREFIX = "custom";
    static readonly BUTTON_CLASS = "custom-button";
    private readonly _innerElements;
    private _originalElementRef;
    private _state;
    private readonly _onClick;
    private readonly _dropupStyles?;
    private readonly _menuStyles?;
    isCustom: boolean;
    constructor(customButton: CustomButtonT, index: number, menuStyles?: DropupMenuStyles);
    private static createButtonElement;
    private createInnerElementsForStates;
    private setSetState;
    private addClickListener;
    private changeState;
    private applyDropupContentStyles;
    private resetDropupItem;
    private assignDropupItemStyle;
    private changeToDefault;
    private changeToActive;
    private changeToDisabled;
    setDropupItem(dropupItem: HTMLElement): void;
    static add(customButtons: CustomButtonT[], buttons: Buttons, dropupStyles?: DropupStyles): void;
}
export {};
//# sourceMappingURL=customButton.d.ts.map