///
import type { StyleProp, TextStyle, ViewStyle } from 'react-native';
export type StyleObj = StyleProp;
export interface Item {
label: string;
value: string;
}
export type CloseModalEvent = {
onClose: () => void;
};
export type CancelModalEvent = {
onCancel: () => void;
};
export type OpenModalEvent = {
onOpen: () => void;
};
export type SelectItemEvent = {
onSelect: () => void;
};
export type CloseModalComponentProps = CloseModalEvent;
interface TextProp {
text: string;
}
export type CancelModalComponentProps = TextProp & CancelModalEvent;
export type PressableComponentProps = Partial & OpenModalEvent;
export type ModalHeaderComponentProps = CancelModalEvent & CloseModalEvent & {
title?: string;
};
export type EmptyIndicatorComponentProps = TextProp;
export type ModalItemComponentProps = SelectItemEvent & {
item: Item;
index: number;
focused: boolean;
};
export type ModalSelectBaseProps = {
items: Item[];
value: string;
onChange: (value: string) => void;
};
export type ModalSelectComponents = {
closeModalComponent?: React.FC;
cancelModalComponent?: React.FC;
pressableComponent?: React.FC;
modalHeaderComponent?: React.FC;
emptyIndicatorComponent?: React.FC;
modalItemComponent?: React.FC;
};
export type ModalSelectStyles = {
modalStyle?: StyleProp;
};
export type ModalSelectProps = ModalSelectBaseProps & ModalSelectComponents & ModalSelectStyles & {
testID?: string;
placeholder?: string;
emptyIndicatorText?: string;
closeModalText?: string;
cancelTouchableText?: string;
};
export {};
//# sourceMappingURL=index.d.ts.map