import { OnInit, Signal } from '@angular/core';
import { RippleWave } from '../../../services';
import * as i0 from "@angular/core";
export declare class TappableComponent implements OnInit {
    /** Animation type for clicks */
    interactiveAnimation: import("@angular/core").InputSignal<"opacity" | "background">;
    /** Make component read-only */
    readonly: import("@angular/core").InputSignal<boolean>;
    /** Disable component */
    disabled: import("@angular/core").InputSignal<boolean>;
    /** Ripple effect waves */
    rippleWaves: import("@angular/core").WritableSignal<RippleWave[]>;
    /** Active state signal for programmatic control */
    private isActiveState;
    /** Service injections */
    private rippleService;
    private platformService;
    /** Platform signal */
    private platformSignal;
    /** Computed values */
    private isIOS;
    private isReadOnlyState;
    /** Computed ripple effect state */
    hasRippleEffect: Signal<boolean>;
    constructor();
    ngOnInit(): void;
    /**
     * Pointerdown event handler
     */
    onPointerDown(event: PointerEvent): void;
    /**
     * Pointercancel/pointerup/pointerleave event handler
     */
    onPointerCancel(event: PointerEvent): void;
    /** Host bindings */
    get isReadonlyClass(): boolean;
    get isDisabledClass(): boolean;
    get isOpacityAnimation(): boolean;
    get isPlatformIOS(): boolean;
    get isActive(): boolean;
    get readonlyAttr(): "" | null;
    get disabledAttr(): "" | null;
    static ɵfac: i0.ɵɵFactoryDeclaration<TappableComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TappableComponent, "tgui-tappable", never, { "interactiveAnimation": { "alias": "interactiveAnimation"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
}
