import React from 'react';
export type PickerModes = 'rangeDate' | 'rangeDateTime' | 'rangeTime' | 'singleDate' | 'singleDateTime' | 'singleTime';
export declare const PICKER_MODES: Record<string, PickerModes>;
export type DateTimePickerState = {
    /** Accepts an ISO string or the word 'today' */
    disableDatesAfterDate?: 'today' | string;
    /** Accepts an ISO string or the word 'today' */
    disableDatesBeforeDate?: 'today' | string;
    is24: boolean;
    minuteStep: number;
    mode: PickerModes;
    timestampActiveView: string;
    timestamp?: string;
    timestampEnd?: string;
    timestampStart?: string;
    weekStart: 'sunday' | 'monday';
};
interface DateTimePickerContextProps extends DateTimePickerState {
    isRangeMode: boolean;
    setMode: (newMode: PickerModes) => void;
    updateTimestamp: (payload?: string) => void;
    updateTimestampActiveView: (timestampActiveView: string) => void;
    updateTimestampEnd: (payload?: string) => void;
    updateTimestampStart: (payload?: string) => void;
}
export declare const DateTimePickerContext: React.Context<DateTimePickerContextProps | undefined>;
export interface DateTimePickerProviderProps extends Partial<DateTimePickerState> {
    children: React.ReactNode;
}
export declare const DateTimePickerProvider: React.FC<DateTimePickerProviderProps>;
export declare const useDateTimePickerContext: () => DateTimePickerContextProps;
export {};
