import { PropType } from 'vue';
import { PickerValue } from './utils';

declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    /** Pickerに表示するオプションの配列。形式は { value: string, label: string } です */
    options: {
        type: PropType<PickerValue[]>;
        default: () => never[];
    };
    /**
     * text-alignの指定
     */
    align: {
        type: PropType<"center" | "left" | "right">;
        default: string;
    };
    selectedBorderRadius: {
        type: PropType<string[]>;
        default: string[];
    };
    /** Pickerのデフォルト値。初期値としても、v-modelとしても使用します */
    modelValue: {
        type: PropType<PickerValue | null>;
        default: null;
    };
    /** リスト内の各アイテム間の距離 */
    radius: {
        type: NumberConstructor;
        default: number;
    };
    /** Pickerが視聴者から「どれくらい遠くにあるか」を定義します。視覚的にPickerの丸みを変更します。 */
    perspective: {
        type: NumberConstructor;
        default: number;
    };
    /** リスト内の各アイテムの高さ。それらの位置を適切に計算するために必要です */
    itemHeight: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * Pickerがタッチにどれぐらい敏感か。大きな値を設定すると、タッチを動かした後のPickerの加速が増します。
     * 範囲は0から10です。
     */
    sensitivity: {
        type: NumberConstructor;
        default: number;
        validator: (value: number) => boolean;
    };
    /**
     * スロットのキーを定義します。これは、複数のPickerを同じページに配置するときに、それらを区別するために使用されます。
     */
    slotKey: {
        type: StringConstructor;
        default: () => string;
    };
    /**
     * singleがfalseの場合、複数のPickerを同じページに配置するときに、それらを区別するために使用されます。
     */
    single: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * Pickerのリング上に表示されるオプションの数。
     * 最大で、指定された数プラスリングの中央に選択されたオプションを表示します。
     * 最良の体験のためには、2の倍数である必要があります。
     */
    visibleOptionsAmount: {
        type: NumberConstructor;
        default: number;
        validator: (value: number) => boolean;
    };
    /** 'infinite'が渡されると、Pickerを永遠にスクロールできます。すべての値が繰り返されます */
    type: {
        type: PropType<"normal" | "infinite">;
        default: string;
        validator: (value: "normal" | "infinite") => boolean;
    };
    /**
     * Pickerのスタイルを定義します
     */
    style: {
        type: PropType<CSSStyleDeclaration>;
        default: () => {};
    };
    /** トップまたはボトムにスクロールするための矢印を表示する必要があるかどうか */
    arrows: {
        type: BooleanConstructor;
        default: boolean;
    };
    /** 条件に合う選択肢のCSSを触れるようにする */
    addClassConditions: {
        type: PropType<string[]>;
        default: () => never[];
    };
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    "update:modelValue": (...args: any[]) => void;
    earlyUpdate: (...args: any[]) => void;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    /** Pickerに表示するオプションの配列。形式は { value: string, label: string } です */
    options: {
        type: PropType<PickerValue[]>;
        default: () => never[];
    };
    /**
     * text-alignの指定
     */
    align: {
        type: PropType<"center" | "left" | "right">;
        default: string;
    };
    selectedBorderRadius: {
        type: PropType<string[]>;
        default: string[];
    };
    /** Pickerのデフォルト値。初期値としても、v-modelとしても使用します */
    modelValue: {
        type: PropType<PickerValue | null>;
        default: null;
    };
    /** リスト内の各アイテム間の距離 */
    radius: {
        type: NumberConstructor;
        default: number;
    };
    /** Pickerが視聴者から「どれくらい遠くにあるか」を定義します。視覚的にPickerの丸みを変更します。 */
    perspective: {
        type: NumberConstructor;
        default: number;
    };
    /** リスト内の各アイテムの高さ。それらの位置を適切に計算するために必要です */
    itemHeight: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * Pickerがタッチにどれぐらい敏感か。大きな値を設定すると、タッチを動かした後のPickerの加速が増します。
     * 範囲は0から10です。
     */
    sensitivity: {
        type: NumberConstructor;
        default: number;
        validator: (value: number) => boolean;
    };
    /**
     * スロットのキーを定義します。これは、複数のPickerを同じページに配置するときに、それらを区別するために使用されます。
     */
    slotKey: {
        type: StringConstructor;
        default: () => string;
    };
    /**
     * singleがfalseの場合、複数のPickerを同じページに配置するときに、それらを区別するために使用されます。
     */
    single: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * Pickerのリング上に表示されるオプションの数。
     * 最大で、指定された数プラスリングの中央に選択されたオプションを表示します。
     * 最良の体験のためには、2の倍数である必要があります。
     */
    visibleOptionsAmount: {
        type: NumberConstructor;
        default: number;
        validator: (value: number) => boolean;
    };
    /** 'infinite'が渡されると、Pickerを永遠にスクロールできます。すべての値が繰り返されます */
    type: {
        type: PropType<"normal" | "infinite">;
        default: string;
        validator: (value: "normal" | "infinite") => boolean;
    };
    /**
     * Pickerのスタイルを定義します
     */
    style: {
        type: PropType<CSSStyleDeclaration>;
        default: () => {};
    };
    /** トップまたはボトムにスクロールするための矢印を表示する必要があるかどうか */
    arrows: {
        type: BooleanConstructor;
        default: boolean;
    };
    /** 条件に合う選択肢のCSSを触れるようにする */
    addClassConditions: {
        type: PropType<string[]>;
        default: () => never[];
    };
}>> & Readonly<{
    "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
    onEarlyUpdate?: ((...args: any[]) => any) | undefined;
}>, {
    type: "normal" | "infinite";
    style: CSSStyleDeclaration;
    modelValue: PickerValue | null;
    options: PickerValue[];
    align: "center" | "left" | "right";
    selectedBorderRadius: string[];
    radius: number;
    perspective: number;
    itemHeight: number;
    sensitivity: number;
    slotKey: string;
    single: boolean;
    visibleOptionsAmount: number;
    arrows: boolean;
    addClassConditions: string[];
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>, {
    "arrow-top"?(_: {}): any;
    "before-option"?(_: {}): any;
    option?(_: {
        label: string;
        value: string | number;
        visibility?: boolean | undefined;
        sourceId?: number | undefined;
    }): any;
    "after-option"?(_: {}): any;
    "arrow-bottom"?(_: {}): any;
}>;
export default _default;
declare type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
//# sourceMappingURL=CCWheelPicker.vue.d.ts.map