import { StatefulActionButton, IStatefulActionButtonOptionsWithIcon } from './StatefulActionButton';
export interface IToggleableButtonOptions {
    activateIcon: string;
    activateTooltip: string;
    deactivateIcon: string;
    deactivateTooltip: string;
    click?: () => void;
    activate?: () => void;
    deactivate?: () => void;
}
export interface IToggleableButton {
    options: IToggleableButtonOptions;
    onClick: () => void;
}
export declare class ToggleDeactivatedState implements IStatefulActionButtonOptionsWithIcon {
    readonly name = "ToggleDeactivatedState";
    readonly icon: string;
    readonly tooltip: string;
    readonly click: {
        (): void;
        (): void;
        (): void;
    };
    constructor(toggleableButton: IToggleableButton);
}
export declare class ToggleActivatedState implements IStatefulActionButtonOptionsWithIcon {
    static ACTIVATED_CLASS_NAME: string;
    readonly name = "ToggleActivatedState";
    readonly onStateEntry: (this: StatefulActionButton) => void;
    readonly onStateExit: (this: StatefulActionButton) => void;
    readonly click: () => void;
    readonly icon: string;
    readonly tooltip: string;
    constructor(toggleableButton: IToggleableButton);
}
