import type { ClickHandler, DebugImageIconOptions, HexColor, Position, Size } from "./types.js"; export interface CreateDebugButtonOptions { /** Button text (default: "Button") */ text?: string; /** Optional image icon rendered next to text (or standalone for icon-only buttons). */ icon?: DebugImageIconOptions; /** Button width (default: 160) */ width?: number; /** Button height (default: 80) */ height?: number; /** Corner radius (default: 10) */ cornerRadius?: number; /** Enable stroke outline (default: true) */ stroke?: boolean; /** Enable shadow (default: true) */ shadow?: boolean; /** Font size (default: 20) */ fontSize?: number; /** Font family (default: "Verdana") */ fontFamily?: string; /** Bold text (default: true) */ isBold?: boolean; /** Click handler (optional) */ onClick?: ClickHandler; /** Enabled state (default: true) */ enabled?: boolean; /** Position (optional) */ position?: Position; } /** * An interactive debug button with hover/disabled visual states. * * Renders background, optional shadow, optional stroke border, and centered text. * Supports normal → hover → disabled state transitions with automatic color dimming. * Chainable API. */ export declare class DebugButton extends Phaser.GameObjects.Container { private _bg; private _shadow; private _label; private _icon; private _hitZone; private _width; private _height; private _cornerRadius; private _shadowVisible; private _outlineThickness; private _normalBgColor; private _hoverBgColor; private _normalOutlineColor; private _hoverOutlineColor; private _normalTextColor; private _hoverTextColor; private _disabledBgColor; private _disabledOutlineColor; private _disabledTextColor; private _isHovering; private _isEnabled; private _iconOptions; constructor(scene: Phaser.Scene, options?: CreateDebugButtonOptions); setBgColor(color: HexColor, hoverColor?: HexColor): this; setOutline(color: HexColor, thickness: number, hoverColor?: HexColor): this; setText(text: string): this; setTextColor(color: HexColor, hoverColor?: HexColor): this; setIcon(icon: DebugImageIconOptions | null): this; setEnabled(enabled: boolean): this; isEnabled(): boolean; setShadowEnabled(enabled: boolean): this; setButtonSize(width: number, height: number): this; setStyle(options: { size?: Size; bgColor?: HexColor; bgHoverColor?: HexColor; outlineColor?: HexColor; outlineHoverColor?: HexColor; outlineThickness?: number; text?: string; textColor?: HexColor; textHoverColor?: HexColor; shadowEnabled?: boolean; }): this; onClick(handler: ClickHandler): this; getLabel(): Phaser.GameObjects.Text; getIcon(): Phaser.GameObjects.Image | null; private refreshContentLayout; private setupInteraction; private resolveVisualState; private getColorForState; private syncDerivedDisabledColors; private applyVisualState; private redraw; } export declare function createDebugButton(scene: Phaser.Scene, options?: CreateDebugButtonOptions): DebugButton; //# sourceMappingURL=DebugButton.d.ts.map