import type { InjectionKey, PropType, Ref } from 'vue'; import type { NullableDateType, RangeValue } from './interface'; export 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>; }; 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").PublicProps, Readonly; default: () => RangeContextProviderValue; }; }>>, { value: RangeContextProviderValue; }, {}>; export default RangeContextKey;