import { default as React } from 'react';
import { ShapeType } from './paths';
import { ImageEffect } from '../image';
export interface ShapedIconProps extends React.SVGProps<SVGSVGElement> {
    shape: ShapeType;
    size?: number | string;
}
export declare const ShapedIcon: React.ForwardRefExoticComponent<Omit<ShapedIconProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
export interface ShapedContainerProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onError" | "onLoad"> {
    shape: ShapeType;
    /** Width and height of the container. */
    size?: number | string;
    /** Duration in seconds for the morph animation */
    duration?: number;
    /** Easing curve for the morph */
    ease?: any;
    /** Class applied to the outer wrapper boundary */
    containerClassName?: string;
}
export declare const ShapedContainer: React.ForwardRefExoticComponent<ShapedContainerProps & React.RefAttributes<HTMLDivElement>>;
export interface ShapedImageProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onError" | "onLoad"> {
    shape: ShapeType;
    src: string;
    placeholderSrc?: string;
    alt?: string;
    size?: number | string;
    /** Duration in seconds for the morph animation */
    duration?: number;
    /** Easing curve for the morph */
    ease?: any;
    showSkeleton?: boolean;
    fallback?: React.ReactNode;
    effects?: ImageEffect[];
    zoomOnHover?: boolean;
    aspectRatio?: "auto" | "square" | "video" | "portrait" | "wide";
    variant?: "default" | "bordered" | "elevated";
}
export declare const ShapedImage: React.ForwardRefExoticComponent<ShapedImageProps & React.RefAttributes<HTMLDivElement>>;
export interface ShapedIconButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
    variant?: "primary" | "secondary" | "ghost" | "destructive";
    size?: "sm" | "md" | "lg";
    shadow?: "none" | "sm" | "md" | "lg" | "xl" | "2xl" | "glow";
    shape: ShapeType;
    morphEase?: number[];
    morphDuration?: number;
}
export declare const ShapedIconButton: React.ForwardRefExoticComponent<ShapedIconButtonProps & React.RefAttributes<HTMLButtonElement>>;
export interface ShapedBadgeProps extends React.HTMLAttributes<HTMLDivElement> {
    variant?: "primary" | "secondary" | "destructive" | "outline";
    size?: "sm" | "md" | "lg";
    shadow?: "none" | "sm" | "md";
    shape: ShapeType;
}
export declare const ShapedBadge: React.ForwardRefExoticComponent<ShapedBadgeProps & React.RefAttributes<HTMLDivElement>>;
export declare const ShapedButton: React.ForwardRefExoticComponent<ShapedIconButtonProps & React.RefAttributes<HTMLButtonElement>>;
