import { Data, ImgParams } from './types';
export type WheelProps = {
    data: Data[];
    middleCircle?: boolean;
    imgParams?: ImgParams;
    fontFamily?: string;
    animDuration?: number;
    autoSpin?: boolean;
    debug?: boolean;
    modelValue?: number;
};
declare const _default: import('vue').DefineComponent<WheelProps, {
    spin: () => Promise<void>;
    state: {
        pieGenerator: import('d3').Pie<any, Data> | null;
        arcGenerator: import('d3').Arc<any, import('d3').PieArcDatum<Data>> | null;
        arrow: SVGElement | null;
        container: SVGGElement | null;
        rayon: number;
        rotation: number;
        isSpinning: boolean;
        svg: SVGGElement | null;
        vis: SVGGElement | null;
        error: string | null;
        isRendering: boolean;
        renderAttempts: number;
    };
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
    done: (value: Data) => any;
    "update:modelValue": (value: number) => any;
}, string, import('vue').PublicProps, Readonly<WheelProps> & Readonly<{
    onDone?: ((value: Data) => any) | undefined;
    "onUpdate:modelValue"?: ((value: number) => any) | undefined;
}>, {
    middleCircle: boolean;
    imgParams: ImgParams;
    fontFamily: string;
    animDuration: number;
    autoSpin: boolean;
    debug: boolean;
    modelValue: number;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
export default _default;
