import * as React from 'react'; import { TextStyle, ViewStyle } from 'react-native'; import { IMDOptionSet } from '../types'; export interface IMDDropMenuProps { isShow?: boolean; style?: ViewStyle; data?: DropMenuData[]; alignCenter?: boolean; defaultValue?: boolean[] | number[] | string[]; optionRender?: (listItem: IMDOptionSet) => React.ReactNode; onChange?: (dropMenuData: DropMenuData, selectOption: IMDOptionSet) => void; onShow?: () => void; onHide?: () => void; } export interface DropMenuData { text: string; options: IMDOptionSet[]; disabled?: boolean; selectedOption?: IMDOptionSet; } interface IMDDropMenuState { isShow: boolean; dropMenuIndex: number; values?: boolean[] | number[] | string[]; contentTop: number; } interface IMDDropMenuStyle { dropMenuStyle: ViewStyle; dropMenuTextStyle: ViewStyle | TextStyle; radioListContentShowStyle: ViewStyle; radioListContentHideStyle: ViewStyle; radioListShowStyle: ViewStyle; radioListHideStyle: ViewStyle; disableStyle: ViewStyle; checkedOrSelectedStyle: TextStyle; } export declare const MDDropMenuStyles: IMDDropMenuStyle; export default class MDDropMenu extends React.Component { constructor(props: IMDDropMenuProps); private animValues; private expandAnim; private unExpandAnim; private dropMenuLayoutRef; private dropMenusLayoutWidth; private dropMenusLayoutLeft; render(): JSX.Element | null; componentWillUnmount(): void; getSelectedValue(index: number): IMDOptionSet | undefined; getSelectedValues(): any[] | undefined; private onAppToggle; private onMeasuredInApp; private onWebToggle; private onMeasuredInWeb; private addContentLayout; private removeContentLayout; private dropMenus; private onLayoutDropMenuLayout; private measureWidthAndLeft; private appExpandContentLayout; private webExpandContentLayout; private show; private hide; private onChange; private changeValue; private startExpandAnim; private startUnexpandAnim; private mergeValueToState; private isApp; } export {};