import React from 'react';
import { GripPosition } from '../components/GripRenderer';
import { HwcEvent, Pos } from '../types';
export declare type IHwcContext<EvType extends HwcEvent> = {
    pos: Pos;
    date: Date;
    startDay: Date;
    daysCount: number;
    cellHeight: number;
    cellWidth: number;
    events: EvType[];
    setPos: (pos: Pos) => void;
    setWidth: (width: number) => void;
    shadowEvent?: HwcEvent;
    setStartDragDate: (date?: Date) => void;
    setEventMoving: (index?: number) => void;
    setEventResizing: (index?: number, grip?: GripPosition) => void;
    addEvent: (ev: HwcEvent) => void;
    updateEvent: (eventIndex: number, newEvent: EvType, previousEvent: EvType) => void;
};
export declare const HwcContext: React.Context<IHwcContext<HwcEvent> | null>;
export declare const OldHwcProvider: React.Provider<IHwcContext<HwcEvent> | null>;
export declare type HwcProviderProps<EvType extends HwcEvent> = {
    value: IHwcContext<EvType>;
    children?: React.ReactNode;
};
export declare const HwcProvider: <EvType extends HwcEvent>({ value, children, }: HwcProviderProps<EvType>) => React.ReactElement;
export declare const useHwcContext: <EvType extends HwcEvent>() => IHwcContext<EvType>;
