import * as i0 from "@angular/core";
/**
 * Renders an icon button with customizable size and mode. It utilizes the `Tappable` component for enhanced
 * touch interaction, allowing it to serve various UI actions efficiently.
 */
export declare class IconButtonComponent {
    /** Specifies the button size, affecting icon scaling. Recommended icon sizes are 20px for 's', 24px for 'm', and 28px for 'l'. */
    size: import("@angular/core").InputSignal<"s" | "m" | "l">;
    /** Defines the button's visual style, affecting its color and background. */
    mode: import("@angular/core").InputSignal<"gray" | "white" | "filled" | "bezeled" | "plain" | "outline">;
    /** Disables the button */
    disabled: import("@angular/core").InputSignal<boolean>;
    /** Type of interactive animation */
    interactiveAnimation: import("@angular/core").InputSignal<"opacity" | "background">;
    /** Type of button */
    type: import("@angular/core").InputSignal<"button" | "reset" | "submit">;
    private elementRef;
    get isSizeS(): boolean;
    get isSizeM(): boolean;
    get isSizeL(): boolean;
    get isModeFilled(): boolean;
    get isModeBezeled(): boolean;
    get isModePlain(): boolean;
    get isModeGray(): boolean;
    get isModeOutline(): boolean;
    get isModeWhite(): boolean;
    get isDisabled(): boolean;
    get buttonType(): "button" | "reset" | "submit";
    get buttonDisabled(): true | null;
    static ɵfac: i0.ɵɵFactoryDeclaration<IconButtonComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IconButtonComponent, "tgui-icon-button", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "interactiveAnimation": { "alias": "interactiveAnimation"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
}
