import React from "react";
import type { EventEmit } from "@almadar/core";
export type LikertScaleSize = "sm" | "md" | "lg";
export type LikertScaleVariant = "radios" | "buttons";
export interface LikertOption {
    /** Underlying value bound to the option */
    value: number | string;
    /** Visible label below (radios) or inside (buttons) the control */
    label: string;
}
export interface LikertScaleProps {
    /** Optional row prompt above the scale */
    question?: string;
    /** Scale points (defaults to a 5-point agree/disagree set) */
    options?: LikertOption[];
    /** Selected value (controlled) */
    value?: number | string | null;
    /** Change callback */
    onChange?: (value: number | string) => void;
    /** Event name dispatched via event bus on change. Payload: { value: number | string } */
    changeEvent?: EventEmit<{
        value: number | string;
    }>;
    /** Disabled state */
    disabled?: boolean;
    /** Size variant */
    size?: LikertScaleSize;
    /** Visual variant: classic radios or pill segmented buttons */
    variant?: LikertScaleVariant;
    /** Additional CSS classes */
    className?: string;
}
export declare const DEFAULT_LIKERT_OPTIONS: LikertOption[];
export declare const LikertScale: React.ForwardRefExoticComponent<LikertScaleProps & React.RefAttributes<HTMLDivElement>>;
