import { type StyleValue } from 'vue';
import { type DefaultProps } from '../config';
import { type OptionKeys, type UseOptionKeysReturn } from '../../use';
export interface PickerOptionObject {
    [key: PropertyKey]: any;
}
export type PickerOption = PickerOptionObject | string | number;
export interface PickerProps {
    rootStyle?: StyleValue;
    rootClass?: string;
    columns?: PickerOption[] | PickerOption[][];
    optionKeys?: OptionKeys;
    modelValue?: any;
    immediateChange?: boolean;
    internalCustom?: number;
}
export declare const defaultPickerProps: () => DefaultProps<PickerProps>;
export interface PickerSlots {
    custom?(props: {
        columns: any[][];
        value: number[];
        pickerViewClass: string;
        maskClass: string;
        indicatorClass: string;
        onChange: (event: any) => void;
    }): any;
}
export interface PickerEmits {
    (e: 'update:model-value', value: any, selectedOptions: PickerOption[], indexes: number[]): void;
    (e: 'change', value: any, selectedOptions: PickerOption[], indexes: number[]): void;
}
export declare function getColumnsType(columns: PickerOption[] | PickerOption[][], { getChildren }: UseOptionKeysReturn): "single" | "multi" | "cascader";
export declare function getOptionsByIndexes(indexes: number[], columns: PickerOption[] | PickerOption[][], useOptionKeysReturn: UseOptionKeysReturn): PickerOption[];
export declare function getCascaderValidIndexes(indexes: number[], columns: PickerOption[] | PickerOption[][], { getChildren }: UseOptionKeysReturn): number[];
export declare function getMaySingleValueByOptions(options: PickerOption[], useOptionKeysReturn: UseOptionKeysReturn, columns: PickerOption[] | PickerOption[][]): any;
export declare function getIndexesByValue(value: any[], columns: PickerOption[] | PickerOption[][], useOptionKeysReturn: UseOptionKeysReturn): number[];
export declare function getInitialValue(columns: PickerOption[] | PickerOption[][], useOptionKeysReturn: UseOptionKeysReturn): any[];
