import Vue, { PropType } from 'vue';
import { ScopedSlotReturnValue } from 'vue/types/vnode';
import { TypeOptionProps } from './type';
import { SelectInstance } from './instance';
import { TScroll } from '../../common.type';
export interface OptionInstance extends Vue {
    tSelect: SelectInstance;
}
export interface OptionProps extends TypeOptionProps {
    panelElement: HTMLElement;
    scroll: TScroll;
    rowIndex: number;
    trs?: Map<number, object>;
    scrollType?: 'lazy' | 'virtual';
    isVirtual: boolean;
    bufferSize: number;
    multiple: Boolean;
    isCreatedOption: Boolean;
    index: Number;
}
declare const _default: import("vue").ComponentOptions<Vue, import("@vue/composition-api").ShallowUnwrapRef<{
    isHover: import("@vue/composition-api").Ref<boolean>;
    isSelected: import("@vue/composition-api").ComputedRef<boolean>;
    mouseEvent: (v: boolean) => void;
    classes: import("@vue/composition-api").ComputedRef<any[]>;
    selectProvider: any;
    labelText: import("@vue/composition-api").ComputedRef<string | number>;
    optionNode: any;
    tRowHeight: import("@vue/composition-api").ComputedRef<number>;
    hasLazyLoadHolder: import("@vue/composition-api").ComputedRef<boolean>;
    handleClick: (e: MouseEvent | KeyboardEvent) => void;
    handleCheckboxClick: (val: boolean, context: {
        e: MouseEvent | KeyboardEvent;
    }) => void;
}> & import("@vue/composition-api").Data, {}, {}, {
    isCreatedOption: BooleanConstructor;
    multiple: BooleanConstructor;
    rowIndex: NumberConstructor;
    trs: PropType<Map<number, object>>;
    scrollType: StringConstructor;
    isVirtual: BooleanConstructor;
    bufferSize: NumberConstructor;
    index: NumberConstructor;
    content: {
        type: PropType<string | ((h: import("vue").CreateElement) => ScopedSlotReturnValue)>;
    };
    default: {
        type: PropType<string | ((h: import("vue").CreateElement) => ScopedSlotReturnValue)>;
    };
    disabled: BooleanConstructor;
    label: {
        type: StringConstructor;
        default: string;
    };
    value: {
        type: PropType<string | number>;
    };
}, {
    label: string;
    disabled: boolean;
    multiple: boolean;
    isCreatedOption: boolean;
    isVirtual: boolean;
} & {
    index?: number;
    default?: string | ((h: import("vue").CreateElement) => ScopedSlotReturnValue);
    content?: string | ((h: import("vue").CreateElement) => ScopedSlotReturnValue);
    value?: string | number;
    bufferSize?: number;
    trs?: Map<number, object>;
    rowIndex?: number;
    scrollType?: string;
}> & Omit<import("vue").VueConstructor<Vue>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{
    label: string;
    disabled: boolean;
    multiple: boolean;
    isCreatedOption: boolean;
    isVirtual: boolean;
} & {
    index?: number;
    default?: string | ((h: import("vue").CreateElement) => ScopedSlotReturnValue);
    content?: string | ((h: import("vue").CreateElement) => ScopedSlotReturnValue);
    value?: string | number;
    bufferSize?: number;
    trs?: Map<number, object>;
    rowIndex?: number;
    scrollType?: string;
}, import("@vue/composition-api").ShallowUnwrapRef<{
    isHover: import("@vue/composition-api").Ref<boolean>;
    isSelected: import("@vue/composition-api").ComputedRef<boolean>;
    mouseEvent: (v: boolean) => void;
    classes: import("@vue/composition-api").ComputedRef<any[]>;
    selectProvider: any;
    labelText: import("@vue/composition-api").ComputedRef<string | number>;
    optionNode: any;
    tRowHeight: import("@vue/composition-api").ComputedRef<number>;
    hasLazyLoadHolder: import("@vue/composition-api").ComputedRef<boolean>;
    handleClick: (e: MouseEvent | KeyboardEvent) => void;
    handleCheckboxClick: (val: boolean, context: {
        e: MouseEvent | KeyboardEvent;
    }) => void;
}>, import("@vue/composition-api").Data, {}, {}, {}, {}, {}, {
    label: string;
    disabled: boolean;
    multiple: boolean;
    isCreatedOption: boolean;
    isVirtual: boolean;
} & {
    index?: number;
    default?: string | ((h: import("vue").CreateElement) => ScopedSlotReturnValue);
    content?: string | ((h: import("vue").CreateElement) => ScopedSlotReturnValue);
    value?: string | number;
    bufferSize?: number;
    trs?: Map<number, object>;
    rowIndex?: number;
    scrollType?: string;
}, {
    label: string;
    disabled: boolean;
    multiple: boolean;
    isCreatedOption: boolean;
    isVirtual: boolean;
}, true>);
export default _default;
