import { StyleProp, TextStyle, ViewStyle } from 'react-native';
import React, { Component } from 'react';
export declare type SelectCascaderOneValue = string | number | undefined;
export declare type SelectCascaderValue = SelectCascaderOneValue[];
export interface ICascaderDataItem {
    label: React.ReactNode;
    value: SelectCascaderOneValue;
    children?: ICascaderDataItem[];
}
export interface SelectCascaderProps {
    onDismiss?: () => void;
    title?: string;
    dismissText?: string;
    okText?: string;
    value?: SelectCascaderValue;
    onChange?: (value: SelectCascaderValue, label: string) => void;
    visible: boolean;
    onVisibleChange?: () => {};
    data: ICascaderDataItem[];
    defaultValue?: SelectCascaderValue | undefined;
    onOk?: (value: SelectCascaderValue, label: string) => void;
    disabled?: boolean;
    cols?: number;
    pickerItemStyle?: StyleProp<TextStyle>;
    headerStyle?: StyleProp<ViewStyle>;
}
export interface Istate {
    modalVisible: boolean;
    value: SelectCascaderValue;
}
export default class SelectCascader extends Component<SelectCascaderProps, Istate> {
    static defaultProps: {
        dismissText: string;
        okText: string;
        title: string;
        disabled: boolean;
        cols: number;
    };
    state: {
        value: SelectCascaderValue;
        modalVisible: boolean;
    };
    outerCtrl: () => void;
    componentWillReceiveProps(nextProps: SelectCascaderProps): void;
    getSel(value: SelectCascaderValue): string;
    onValueChange: (itemValue: SelectCascaderOneValue, index: number) => void;
    getValue(d: ICascaderDataItem[], val: SelectCascaderValue | undefined): SelectCascaderValue;
    getCols: () => JSX.Element[];
    onDismiss: () => void;
    onOk: () => void;
    render(): JSX.Element;
}
