import { ReactNode } from 'react';
export type DatePickerMode = 'single' | 'range' | 'multiple';
export type DatePickerSize = 'sm' | 'md' | 'lg';
export interface DatePickerProps {
    /** Mode selection: 'range' (default), 'single', atau 'multiple' */
    mode?: DatePickerMode;
    /** Selected dates - format depends on mode */
    selected: string[] | string;
    /** Callback when selection changes - format depends on mode */
    onChange: ((newRange: [string, string]) => void) | ((newDate: string) => void) | ((newDates: string[]) => void);
    placeholder?: string | ReactNode;
    popperPlacement?: 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end' | 'right' | 'right-start' | 'right-end' | 'top' | 'top-start' | 'top-end';
    /** format untuk PARSE & EMIT (default 'dd/MM/yyyy') */
    dateFormat?: string;
    className?: string;
    /** Lebar tombol/trigger; contoh: 320 atau '24rem' atau '100%' */
    triggerWidth?: number | string;
    /** Max height panel; contoh: 420 atau '28rem' → panel auto scroll */
    panelMaxHeight?: number | string;
    /** Extra class untuk panel kalender */
    panelClassName?: string;
    triggerClassname?: string;
    /** Disable dates before today */
    disabledBackDate?: boolean;
    /** Disable dates after today */
    disabledFutureDate?: boolean;
    /** Disable dates before this specific date (format: 'dd/MM/yyyy') */
    disabledDateBefore?: string;
    /** Disable dates after this specific date (format: 'dd/MM/yyyy') */
    disabledDateAfter?: string;
    /** Disable the entire component */
    disabled?: boolean;
    /** Make the component readonly */
    readonly?: boolean;
    /** Size variant */
    size?: DatePickerSize;
    /** Label text */
    label?: ReactNode;
    /** Whether the field is required */
    required?: boolean;
}
export default function DatePicker({ mode, selected, onChange, placeholder, popperPlacement, dateFormat, className, triggerWidth, panelMaxHeight, panelClassName, triggerClassname, disabledBackDate, disabledFutureDate, disabledDateBefore, disabledDateAfter, disabled, readonly, size, label, required, }: DatePickerProps): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=DatePicker.d.ts.map