declare const _default: <T extends string>(__VLS_props: {
    onChange?: ((index: number, value: T) => any) | undefined;
    fontColor?: string | undefined;
    duration?: number | undefined;
    fontSize?: string | undefined;
    bgColor?: string | undefined;
    options: T[];
    initIndex?: number | undefined;
    hoverColor?: string | undefined;
    selectedColor?: string | undefined;
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, __VLS_ctx?: {
    slots: {
        button?(_: {
            selectedIndex: number;
        }): any;
        default?(_: {
            item: T;
            index: number;
        }): any;
    };
    attrs: any;
    emit: (event: "change", index: number, value: T) => void;
} | undefined, __VLS_expose?: ((exposed: import('vue').ShallowUnwrapRef<{}>) => void) | undefined, __VLS_setup?: Promise<{
    props: {
        onChange?: ((index: number, value: T) => any) | undefined;
        fontColor?: string | undefined;
        duration?: number | undefined;
        fontSize?: string | undefined;
        bgColor?: string | undefined;
        options: T[];
        initIndex?: number | undefined;
        hoverColor?: string | undefined;
        selectedColor?: string | undefined;
    } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
    expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
    attrs: any;
    slots: {
        button?(_: {
            selectedIndex: number;
        }): any;
        default?(_: {
            item: T;
            index: number;
        }): any;
    };
    emit: (event: "change", index: number, value: T) => void;
}>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}> & {
    __ctx?: {
        props: {
            onChange?: ((index: number, value: T) => any) | undefined;
            fontColor?: string | undefined;
            duration?: number | undefined;
            fontSize?: string | undefined;
            bgColor?: string | undefined;
            options: T[];
            initIndex?: number | undefined;
            hoverColor?: string | undefined;
            selectedColor?: string | undefined;
        } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
        expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
        attrs: any;
        slots: {
            button?(_: {
                selectedIndex: number;
            }): any;
            default?(_: {
                item: T;
                index: number;
            }): any;
        };
        emit: (event: "change", index: number, value: T) => void;
    } | undefined;
};
export default _default;
type __VLS_OmitKeepDiscriminatedUnion<T, K extends keyof any> = T extends any ? Pick<T, Exclude<keyof T, K>> : never;
type __VLS_Prettify<T> = {
    [K in keyof T]: T[K];
} & {};
