import type { InjectionKey, PropType, Ref } from 'vue'; import type { NullableDateType, RangeValue } from './interface'; export declare type RangeContextProps = { /** * Set displayed range value style. * Panel only has one value, this is only style effect. */ rangedValue?: Ref<[NullableDateType, NullableDateType] | null>; hoverRangedValue?: Ref>; inRange?: Ref; panelPosition?: Ref<'left' | 'right' | false>; }; declare type RangeContextProviderValue = { /** * Set displayed range value style. * Panel only has one value, this is only style effect. */ rangedValue?: [NullableDateType, NullableDateType] | null; hoverRangedValue?: RangeValue; inRange?: boolean; panelPosition?: 'left' | 'right' | false; }; declare const RangeContextKey: InjectionKey; export declare const useProvideRange: (props: RangeContextProps) => void; export declare const useInjectRange: () => RangeContextProps; export declare const RangeContextProvider: import("vue").DefineComponent<{ value: { type: PropType; default: () => RangeContextProviderValue; }; }, () => import("vue").VNode[], unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly; default: () => RangeContextProviderValue; }; }>>, { value: RangeContextProviderValue; }>; export default RangeContextKey;