import { type ClassValue } from "clsx";
import { type FictoanBadgeProps, type FictoanButtonProps, type FictoanCardProps, type FictoanInfoPanelProps, type FictoanInputFieldProps, type FictoanTooltipProps } from "./fictoan-schema";
/**
 * Utility function to merge Tailwind CSS classes
 * Combines clsx for conditional classes and tailwind-merge for deduplication
 */
export declare function cn(...inputs: ClassValue[]): string;
/**
 * Map Fictoan Button props to shadcn/ui Button props
 */
export declare function mapFictoanButtonProps(props: Partial<FictoanButtonProps>): {
    variant: string;
    size: string | undefined;
    disabled: boolean | undefined;
    className: string | undefined;
    loading: boolean | undefined;
    fullWidth: boolean | undefined;
};
/**
 * Focus ring utility for accessibility
 */
export declare const focusRing = "setu:focus-visible:outline-hidden setu:focus-visible:ring-2 setu:focus-visible:ring-ring setu:focus-visible:ring-offset-2";
/**
 * Disabled state utility
 */
export declare const disabledState = "setu:disabled:pointer-events-none setu:disabled:opacity-50";
/**
 * Get contrast color for accessibility
 */
export declare function getContrastColor(bgColor: string): "light" | "dark";
/**
 * Animation utilities
 */
export declare const animations: {
    readonly fadeIn: "animate-in setu:fade-in-0";
    readonly fadeOut: "animate-out setu:fade-out-0";
    readonly slideIn: "animate-in setu:slide-in-from-bottom-2";
    readonly slideOut: "animate-out setu:slide-out-to-bottom-2";
    readonly scaleIn: "animate-in setu:zoom-in-95";
    readonly scaleOut: "animate-out setu:zoom-out-95";
};
/**
 * Theme Management Utilities
 * Easy way to switch between custom themes
 */
export type ThemeName = "light" | "dark" | "setu" | "green" | "orange" | string;
/**
 * Apply a custom theme to the document
 * @param theme - Theme name (light, dark, setu, green, orange, or custom class)
 */
export declare function applyTheme(theme: ThemeName): void;
/**
 * Get current active theme
 */
export declare function getCurrentTheme(): ThemeName;
/**
 * React hook for theme management (if using React context)
 */
export declare function createThemeHook(): {
    setTheme: typeof applyTheme;
    getTheme: typeof getCurrentTheme;
    availableThemes: ThemeName[];
};
/**
 * Map Fictoan InfoPanel props to Sheet props
 * Handles transformation from Fictoan v0.45.5 InfoPanel API to our Sheet component
 */
export declare function mapFictoanInfoPanelProps(props: Partial<FictoanInfoPanelProps>): {
    closeOnClickOutside?: boolean;
    margin?: import("./fictoan-schema").SpacingMarginType;
    children?: React.ReactNode;
    open: boolean | undefined;
    onOpenChange: ((open: boolean) => void) | undefined;
    className: string | undefined;
};
/**
 * Map Fictoan Card props to our Card component
 */
export declare function mapFictoanCardProps(props: Partial<FictoanCardProps>): {
    className: string | undefined;
    children: import("react").ReactNode;
};
/**
 * Map Fictoan InputField props to our Input component
 */
export declare function mapFictoanInputFieldProps(props: Partial<FictoanInputFieldProps>): {
    "data-icon-right"?: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | undefined;
    "data-icon-left"?: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | undefined;
    "data-error-text"?: string | undefined;
    "data-help-text"?: string | undefined;
    "data-label-colour"?: string | undefined;
    "data-label"?: string | undefined;
    type: string | undefined;
    placeholder: string | undefined;
    value: string | undefined;
    defaultValue: string | undefined;
    onChange: ((e: React.ChangeEvent<HTMLInputElement>) => void) | undefined;
    disabled: boolean | undefined;
    required: boolean | undefined;
    className: string;
};
/**
 * Map Fictoan Tooltip props to our Tooltip component
 */
export declare function mapFictoanTooltipProps(props: Partial<FictoanTooltipProps>): {
    content: string | undefined;
    side: "bottom" | "left" | "right" | "top";
    className: string | undefined;
    children: import("react").ReactNode;
};
/**
 * Map Fictoan Badge props to Badge component (when implemented)
 */
export declare function mapFictoanBadgeProps(props: Partial<FictoanBadgeProps>): {
    className: string;
    children: import("react").ReactNode;
};
//# sourceMappingURL=utils.d.ts.map