/**
 * Flowtype definitions for withAnnotatorContext.tsx
 * Generated by Flowgen from a Typescript Definition
 * Flowgen v1.10.0
 */

import * as React from "react";
import AnnotatorContext from "./AnnotatorContext";
import { AnnotatorState, GetMatchPath } from "./types";

export interface WithAnnotatorContextProps {
    annotatorState?: AnnotatorState;
    emitActiveAnnotationChangeEvent?: (id: string) => void;
    emitAnnotationRemoveEvent?: (id: string, isStartEvent?: boolean) => void;
    emitAnnotationReplyCreateEvent?: (
        reply: Object,
        requestId: string,
        annotationId: string,
        isStartEvent?: boolean
    ) => void;
    emitAnnotationReplyDeleteEvent?: (
        id: string,
        annotationId: string,
        isStartEvent?: boolean
    ) => void;
    emitAnnotationReplyUpdateEvent?: (
        reply: Object,
        annotationId: string,
        isStartEvent?: boolean
    ) => void;
    emitAnnotationUpdateEvent?: (
        annotation: Object,
        isStartEvent?: boolean
    ) => void;
    getAnnotationsMatchPath?: GetMatchPath;
    getAnnotationsPath?: (
        fileVersionId?: string,
        annotationId?: string
    ) => string;
}
declare export default function withAnnotatorContext<P: { ... }>(
    WrappedComponent: React.ComponentType<P>
): void;
