import { Context, Provider } from 'react'; export type DateRangeValue = [Date, Date]; export type SelectionMode = 'day' | 'week' | 'month' | 'year'; export interface RangeOption { value: string | number; label: string; range: [Date, Date]; } export type PopoverPosition = 'bottomStart' | 'bottomEnd' | 'topStart' | 'topEnd' | 'auto'; export declare const defaultCustomText = "Custom"; export type DateSelectedCallbackArg = { name?: string; range?: string | number; value: DateRangeValue; args: any; }; interface PropsBase { value?: DateRangeValue | (string | number) | Date; ranges?: RangeOption[]; minDate?: Date; maxDate?: Date; onChange: (selection: DateSelectedCallbackArg) => void; onClose?: () => void; customLabel?: string; showTodayButton?: boolean; dateFormat?: string; separator?: string; args?: any; locale?: any; position?: PopoverPosition; selectionMode?: SelectionMode; firstDayOfWeek?: number; range?: boolean; ariaLabel?: string; classNames?: { container?: string; control?: string; popover?: string; }; } export interface DateRangePickerProps extends PropsBase { id?: string; name?: string; className?: string; styles?: React.CSSProperties; disabled?: boolean; placeholder?: string; iconOnly?: boolean; } export interface ContextType { customRange: DateRangeValue; activeView: 'quick' | 'custom'; selectedRange: string | number | 'custom'; closePicker: () => void; setCustomRange: React.Dispatch>; setActiveView: React.Dispatch>; setCustomDate: (range: DateRangeValue) => void; setQuickDate: (option: RangeOption | { custom: true; }) => void; } export declare const DatePickerPropsContext: Context; export declare const PropsProvider: Provider; export declare const DatePickerStateContext: Context; export declare const StateProvider: Provider; export {};