import { Position, PositionProp } from './position.enum';
import { ControlPosition, IControl } from 'maplibre-gl';
import { PropType, Ref, SlotsType, DefineComponent, ExtractPropTypes, VNode, RendererNode, RendererElement, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
export declare class CustomControl implements IControl {
    private isAdded;
    static readonly CONTROL_CLASS = "maplibregl-ctrl";
    static readonly CONTROL_GROUP_CLASS = "maplibregl-ctrl-group";
    readonly container: HTMLDivElement;
    constructor(isAdded: Ref<boolean>, noClasses: boolean);
    getDefaultPosition(): ControlPosition;
    onAdd(): HTMLElement;
    onRemove(): void;
    setClasses(noClasses: boolean): void;
}
declare const _default: DefineComponent<ExtractPropTypes<{
    position: {
        type: PropType<PositionProp>;
        validator: (v: Position) => boolean;
    };
    noClasses: {
        type: PropType<boolean>;
        default: boolean;
    };
}>, () => VNode<RendererNode, RendererElement, {
    [key: string]: any;
}>, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly< ExtractPropTypes<{
    position: {
        type: PropType<PositionProp>;
        validator: (v: Position) => boolean;
    };
    noClasses: {
        type: PropType<boolean>;
        default: boolean;
    };
}>> & Readonly<{}>, {
    noClasses: boolean;
}, SlotsType<{
    default: {};
}>, {}, {}, string, ComponentProvideOptions, true, {}, any>;
export default _default;
