import { DrawBatcher } from '../core/DrawBatcher'; import { CanvasEvent, CanvasFlexStyle } from '../core/CanvasNode'; import { CanvasLeaf } from '../core/CanvasLeaf'; import { ButtonIcon, ButtonSize, ButtonView } from '../cells/buttons'; import { Theme } from '../../../theming/types'; export interface CanvasButtonOptions { variant?: 'primary' | 'secondary' | 'danger'; view?: ButtonView; size?: ButtonSize; leftIcon?: ButtonIcon; rightIcon?: ButtonIcon; disabled?: boolean; onClick?: (event: CanvasEvent) => void; theme?: Theme; } export declare class CanvasButton extends CanvasLeaf { text: string; variant: 'primary' | 'secondary' | 'danger'; view: ButtonView; size: ButtonSize; leftIcon?: ButtonIcon; rightIcon?: ButtonIcon; disabled: boolean; isHovered: boolean; private useNewApi; private viewColors; constructor(id: string, text: string, options?: CanvasButtonOptions); set style(value: CanvasFlexStyle); get style(): CanvasFlexStyle; measure(ctx: CanvasRenderingContext2D): void; onPaint(batcher: DrawBatcher, ctx: CanvasRenderingContext2D): void; onMouseEnter(): void; onMouseLeave(): void; }