import { type ImgHTMLAttributes } from 'react';
/** `CODE → asset URL`, keyed by upper-case ISO code. */
export type FlagAssetMap = Record;
/**
* `import.meta.glob` is a Vite build macro: Vite rewrites the *call* into a
* static asset map, so it must stay a reachable call expression (a `typeof`
* guard on the bare reference is always false at runtime and skips the flags).
* Under the esbuild sync pass the macro is absent and the untransformed call
* throws — callers wrap their glob in this helper so Flag degrades to
* placeholder boxes instead of crashing.
*/
export declare function safeFlagGlob(glob: () => Record): FlagAssetMap;
export declare const flagVariants: (props?: ({
shape?: "square" | "rectangle" | null | undefined;
size?: "sm" | "md" | "lg" | "xl" | null | undefined;
rounded?: "full" | "none" | "sm" | "md" | null | undefined;
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
/** Composes the variant classes with a caller-supplied `className`. */
export declare function flagClasses(variants: Parameters[0], className?: string): string;
export type FlagImgAttrs = Omit, 'src' | 'alt' | 'role' | 'width' | 'height' | 'children'>;
interface FlagViewProps extends FlagImgAttrs {
/** Upper-cased ISO code — stamped as `data-country`. */
code: string;
/** Resolved asset URL, or `undefined` when the kit ships no such flag. */
src?: string;
/** Accessible name; omit for decorative flags. */
label?: string;
/** Fully composed class string (see `flagClasses`). */
className: string;
}
/**
* The one element every Flag binding renders. Kept private to the flag
* directory — consumers import `Flag` (or the kit's LocalePicker), never
* this.
*/
export declare const FlagView: import("react").ForwardRefExoticComponent>;
export {};
//# sourceMappingURL=flag-view.d.ts.map