import type { EffectPosition } from '../util/position.js';
export interface RippleOptions {
    position: EffectPosition;
    duration?: number;
    ringWidth?: number;
    feather?: number;
    hueShift?: number;
    contrast?: number;
    saturate?: number;
    hueProperties?: Record<string, number>;
    sparkle?: boolean | {
        size?: number;
        duration?: number;
    };
}
export declare const BTU_RIPPLE_EVENT = "btu-effect-ripple";
export interface RippleResult {
    ready: Promise<void>;
    finished: Promise<void>;
}
export declare function btuRipple(options: RippleOptions): RippleResult;
export declare namespace btuRipple {
    var setDefaults: (newDefaults: Partial<Omit<RippleOptions, "position">>) => void;
    var listen: () => (() => void);
}
declare global {
    interface DocumentEventMap {
        'btu-effect-ripple': CustomEvent<RippleOptions>;
    }
}
//# sourceMappingURL=ripple.d.ts.map