import { type CSSProperties } from 'react';
import { type IFieldType, type EnumOption } from '../types';
/** Flatten nested options into an ordered list with depth info for tree rendering. */
export declare function flattenNestedOptions(options: EnumOption[], nestedByProp: string): Array<{
    option: EnumOption;
    depth: number;
}>;
export declare function formatDuration(seconds: number | null | undefined): string;
export declare function parseDuration(display: string): number;
export declare function getCurrencySymbol(code: string): string;
export declare function formatMoney(amount: number | null | undefined, currency?: string): string;
export declare function getCompanionFieldSlug(fieldSlug: string, suffix: string): string;
export declare function getCompanionValue(record: Record<string, unknown> | undefined, fieldSlug: string, suffix: string): unknown;
export declare function parseDateRange(value: string | null | undefined): {
    start: Date;
    end: Date;
} | null;
export declare function formatDateRange(start: Date, end: Date): string;
export declare function formatTime(value: string | null | undefined): string;
export declare function formatPhoneDisplay(phone: string | null | undefined, countryCode: string | null | undefined): string;
export declare function isSelectField(type: IFieldType): boolean;
export declare function isMultiSelectField(type: IFieldType): boolean;
export declare function isVirtualField(type: IFieldType): boolean;
export declare function isCompositeField(type: IFieldType): boolean;
export declare function isReadOnlyField(type: IFieldType): boolean;
export interface EnumColorResult {
    className?: string;
    style?: CSSProperties;
}
/**
 * Build badge-style colors from an enum option color string.
 *
 * Supports:
 * - Tailwind color names: `"blue"`, `"red-500"`, `"emerald-300"`
 * - Hex: `"#3b82f6"`, `"#f00"`
 * - RGB: `"rgb(59, 130, 246)"`, `"rgba(59, 130, 246, 1)"`
 * - OKLCH: `"oklch(0.7 0.15 250)"`
 *
 * For Tailwind colors, returns `className` with Tailwind utility classes.
 * For other formats, returns `style` with computed bg (12% opacity) and
 * contrasting text color.
 */
export declare function getEnumBadgeColors(color: string | undefined): EnumColorResult;
/**
 * Build inline style for a small color dot/swatch from an enum option color.
 * Returns a `backgroundColor` style for hex/rgb/oklch values, or empty for
 * Tailwind colors (which should use className-based rendering).
 */
export declare function getEnumDotStyle(color: string | undefined): CSSProperties | undefined;
/**
 * Build Tailwind className for a small color dot based on Tailwind color name.
 */
export declare function getEnumDotClassName(color: string | undefined): string;
/**
 * Returns Tailwind className + inline style to color an icon or text
 * based on an enum option color. Uses `text-{color}-500` for Tailwind
 * names and inline `color` for hex/rgb/oklch.
 */
export declare function getEnumIconColor(color: string | undefined): {
    className?: string;
    style?: CSSProperties;
};
export declare const COMMON_CURRENCIES: readonly [{
    readonly code: "USD";
    readonly name: "US Dollar";
}, {
    readonly code: "EUR";
    readonly name: "Euro";
}, {
    readonly code: "GBP";
    readonly name: "British Pound";
}, {
    readonly code: "TRY";
    readonly name: "Turkish Lira";
}, {
    readonly code: "JPY";
    readonly name: "Japanese Yen";
}, {
    readonly code: "CNY";
    readonly name: "Chinese Yuan";
}, {
    readonly code: "CHF";
    readonly name: "Swiss Franc";
}, {
    readonly code: "CAD";
    readonly name: "Canadian Dollar";
}, {
    readonly code: "AUD";
    readonly name: "Australian Dollar";
}, {
    readonly code: "INR";
    readonly name: "Indian Rupee";
}, {
    readonly code: "BRL";
    readonly name: "Brazilian Real";
}, {
    readonly code: "KRW";
    readonly name: "South Korean Won";
}, {
    readonly code: "MXN";
    readonly name: "Mexican Peso";
}, {
    readonly code: "SGD";
    readonly name: "Singapore Dollar";
}, {
    readonly code: "HKD";
    readonly name: "Hong Kong Dollar";
}, {
    readonly code: "NOK";
    readonly name: "Norwegian Krone";
}, {
    readonly code: "SEK";
    readonly name: "Swedish Krona";
}, {
    readonly code: "DKK";
    readonly name: "Danish Krone";
}, {
    readonly code: "PLN";
    readonly name: "Polish Zloty";
}, {
    readonly code: "ZAR";
    readonly name: "South African Rand";
}, {
    readonly code: "AED";
    readonly name: "UAE Dirham";
}, {
    readonly code: "SAR";
    readonly name: "Saudi Riyal";
}, {
    readonly code: "RUB";
    readonly name: "Russian Ruble";
}, {
    readonly code: "ILS";
    readonly name: "Israeli Shekel";
}, {
    readonly code: "THB";
    readonly name: "Thai Baht";
}];
