import React from 'react';
import olControl, { Options as olControlOptions } from 'ol/control/Control';
import { ObjectEvent } from 'ol/Object';
export interface ControlEvents {
    onchange?: (evt: Event) => void;
    onpropertychange?: (evt: ObjectEvent) => void;
}
export interface ControlProps<T extends olControl, O extends Omit<olControlOptions, 'target'>> extends React.HTMLAttributes<HTMLDivElement> {
    controlType: {
        new (opts: O): T;
    };
    controlProps: O;
    mapId?: string;
}
export declare function Control<T extends olControl, O>(props: ControlProps<T, O>): JSX.Element;
