import { type VariantProps } from "class-variance-authority"; /** * Root wrapper around the trigger, the hidden input, and the optional * selection preview. Carries the module's `@container` scope — descendants * (dropzone padding, preview grid) adapt to this element's width, never the * viewport. The wrapper itself must stay free of `@…:` variants. */ export declare const fileUploadRootVariants: (props?: ({ trigger?: "button" | "dropzone" | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string; export type FileUploadRootVariantProps = VariantProps; /** * Dropzone drop target. Every state pairs a non-color cue with the color * shift so no state is color-only: * - drag-over: dashed border becomes solid (plus `ring` border + `muted` fill) * - disabled/busy: reduced opacity + `not-allowed`/`progress` cursor * Padding is container-responsive: compact in narrow cards, airy when the * container passes the `@md` width. */ export declare const fileUploadDropzoneVariants: (props?: ({ size?: "default" | "sm" | null | undefined; dragOver?: boolean | null | undefined; disabled?: boolean | null | undefined; busy?: boolean | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string; export type FileUploadDropzoneVariantProps = VariantProps; export type FileUploadSize = NonNullable; /** Icon slot above the dropzone label; grows with the container. */ export declare const fileUploadIconVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string; /** Primary label line inside the dropzone. */ export declare const fileUploadLabelVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string; /** Secondary hint line (accepted formats, size limit) inside the dropzone. */ export declare const fileUploadDescriptionVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string; /** * The real `` stays in the accessibility tree's shadow: * visually hidden, removed from the tab order, and driven by the visible * trigger. `sr-only` (not `display: none`) keeps `.click()` reliable * everywhere. */ export declare const fileUploadInputVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string; /** * Selection preview root — its own `@container` scope so the list also * adapts when the preview is composed standalone, away from the trigger. */ export declare const fileUploadPreviewVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string; /** Preview rows: single column, two columns once the container passes `@2xl`. */ export declare const fileUploadPreviewListVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string; /** One selected-file row. `min-w-0` lets the name column truncate. */ export declare const fileUploadPreviewItemVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string; /** * Row body (thumbnail + name + size) doubling as the lightbox trigger. * Negative margin lets the hover/focus surface bleed to the row padding * without moving the content. */ export declare const fileUploadPreviewTriggerVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string; /** Image thumbnail (and its pre-load placeholder) in a preview row. */ export declare const fileUploadPreviewThumbVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string; /** Name + size column; flexes and truncates instead of breaking the row. */ export declare const fileUploadPreviewMetaVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string; /** File name line — truncates with the full name in `title`. */ export declare const fileUploadPreviewNameVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string; /** Human-readable size line under the name. */ export declare const fileUploadPreviewSizeVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string; /** Footer holding the clear-all action, aligned to the row edge. */ export declare const fileUploadPreviewFooterVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string; /** * Lightbox dialog panel — wider than the default dialog so documents get * room. The dialog is viewport-owned chrome (like the base modal), so its * sizing is the exception to container-scoped responsiveness. */ export declare const fileUploadLightboxContentVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string; /** Fixed-height centered stage the staged image/document fills. */ export declare const fileUploadLightboxStageVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string; /** Staged image — letterboxed to fit, never cropped. */ export declare const fileUploadLightboxImageVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string; /** Lightbox footer: remove action on one edge, pager on the other. */ export declare const fileUploadLightboxFooterVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string; /** Pager cluster (previous / position / next). */ export declare const fileUploadLightboxNavVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string; /** "n of m" position readout between the pager buttons. */ export declare const fileUploadLightboxPositionVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string; //# sourceMappingURL=variants.d.ts.map