/**
 * @license
 * Copyright 2022 Google LLC
 * SPDX-License-Identifier: Apache-2.0
 * @link
 * https://github.com/material-components/material-web/blob/main/ripple/internal/ripple.ts
 *
 * [Modified by Sandlada & Kai Orion]
 *
 * @license
 * Copyright 2025 Sandlada & Kai Orion
 * SPDX-License-Identifier: MIT
 */
import type { Ref } from 'vue';
export declare class RippleAttachableController {
    private host;
    private _hover;
    private _pressed;
    get hover(): boolean;
    private set hover(value);
    get pressed(): boolean;
    private set pressed(value);
    get disabled(): boolean;
    private state;
    private startEvent;
    private checkBoundsAfterContextMenu;
    private initialSize;
    private rippleScale;
    private rippleSize;
    private growAnimation;
    constructor(host: Ref<HTMLElement | null>);
    /**
     * Event handles
     */
    private handlePointerenter;
    private handlePointerleave;
    private handlePointerup;
    private handlePointerdown;
    private handlePointercancel;
    private handleClick;
    private handleContextmenu;
    /**
     * Animations about
     */
    private startPressAnimation;
    private getTranslationCoordinates;
    private getNormalizedPointerEventCoords;
    private endPressAnimation;
    private determineRippleSize;
    private inBounds;
    private isTouch;
    private shouldReactToEvent;
    private handleEvent;
}
//# sourceMappingURL=ripple-attachable-controller.d.ts.map