import { Vnode, ViewResult, EnabledWidget, EnabledWidgetAtrrs } from './Widget';
import { State, Stateful, Transition } from "./support/State";
export interface ButtonAttrs extends EnabledWidgetAtrrs {
    onclick: (newValue: number) => void;
    numValues?: number;
    initial?: number;
    stateAccess?: (stateful: Stateful) => void;
    transition?: Transition;
}
export declare class Button extends EnabledWidget {
    state: State;
    pressed: boolean;
    pressing: (down: boolean) => void;
    oninit(node: Vnode<ButtonAttrs, this>): void;
    view(node: Vnode<ButtonAttrs, this>): ViewResult;
}
export declare class OnOffButton extends Button {
    static states: string[];
    oninit(node: Vnode<ButtonAttrs, this>): void;
    view(node: Vnode<ButtonAttrs, this>): ViewResult;
}
export interface IconButtonAttrs extends ButtonAttrs {
    mdi: string;
}
export declare class IconButton extends Button {
    oninit(node: Vnode<IconButtonAttrs, this>): void;
    view(node: Vnode<IconButtonAttrs, this>): ViewResult;
}
