import React from "react";
export type ProgressiveBlurPosition = "top" | "bottom" | "left" | "right";
export interface ProgressiveBlurProps extends React.HTMLAttributes<HTMLDivElement> {
    /**
     * Position(s) where the blur effect should be applied.
     * Can be a single position or array of positions.
     * @default "bottom"
     */
    position?: ProgressiveBlurPosition | ProgressiveBlurPosition[];
    /**
     * Custom blur levels array (in pixels) for fine-grained control.
     * If provided, overrides `layers` and `blurIntensity`.
     * @example [0.5, 1, 2, 4, 8, 16, 32, 64]
     */
    blurLevels?: number[];
    /**
     * Number of blur layers to generate.
     * More layers = smoother gradient, but more DOM nodes.
     * Ignored if `blurLevels` is provided.
     * @default 8
     */
    layers?: number;
    /**
     * Maximum blur value in pixels for auto-generated levels.
     * Ignored if `blurLevels` is provided.
     * @default 64
     */
    blurIntensity?: number;
    /**
     * Size of the blur region.
     * Height for top/bottom positions, width for left/right positions.
     * @default "30%"
     */
    size?: string;
    /** Custom className for styling overrides */
    className?: string;
    /** Theme overrides */
    theme?: ProgressiveBlurThemeOverrides;
}
export interface ProgressiveBlurThemeOverrides {
    /** Base styles for each blur instance container */
    baseStyle?: string;
    /** Position-specific styles */
    positions?: Partial<Record<ProgressiveBlurPosition, string>>;
    /** Styles for each individual blur layer div */
    layerStyle?: string;
}
