import type { WithMediaQueryInnerProps, WithMediaQueryStyleProps } from '../../../../libs/fsresponsive'; import type { AccessibilityRole, ImageStyle, ImageURISource, TextStyle, ViewStyle } from 'react-native'; import type { FC, ReactNode } from 'react'; import type { WithConditionalProps, WithDataTextProps } from '../../frameworks/property-binding'; import type { StandardContainerProps } from '../../models'; export interface PreStandardizedBaseSerializableAccordionProps { style: ViewStyle; accessible: boolean; accessibilityLabel: string; accessibilityRole: AccessibilityRole; accessibilityHint: string; nativeID?: string; /** * Duration of the icon spin animation */ animationDuration?: number; /** * Arrow icon to use; should be oriented facing right (>) */ arrowIconImage?: ImageURISource; /** * Styles for the arrow icon */ arrowIconStyle?: ImageStyle; /** * Range of rotation for open/closed arrows */ arrowRange?: string[]; /** * Icon to use when open if icon format is 'image' */ openIconImage?: ImageURISource; /** * Styles for open icon image */ openIconStyle?: ImageStyle; /** * Icon to use when closed if icon format is 'image' */ closedIconImage?: ImageURISource; /** * Styles for open icon image */ closedIconStyle?: ImageStyle; /** * Styles for the accordion content container */ contentStyle?: ViewStyle; /** * Whether to disable the animation (default false) */ disableAnimation?: boolean; /** * Whether to display the icon as an image w open/closed options, * an arrow which rotates on open/close, or plus/minus (default is plus/minus) */ iconFormat?: 'arrow' | 'image' | 'plusminus'; /** * Styles for the accordion container when open */ openStyle?: ViewStyle; /** * Styles for the accordion title when open */ openTitleStyle?: ViewStyle; /** * Bottom padding * * @deprecated Put the padding on the accordion contents instead */ padding?: number; /** * Left and right padding (has defaults) */ paddingHorizontal?: number; /** * Styles for the plus minus icon */ plusMinusStyle?: TextStyle; /** * Whether to initialize as open or closed */ state?: 'closed' | 'open'; /** * Content of the accordion title */ title: string; /** * Styles for the accordion title container */ titleContainerStyle?: ViewStyle; /** * Image to include on left side of title */ titleImage?: ImageURISource; /** * Styles for the title image */ titleImageStyle?: ImageStyle; /** * Styles for the accordion title */ titleStyle?: ViewStyle; /** * Styles for the accordion title text */ titleTextStyle?: TextStyle; /** * Height of title touch highlight (has default) */ titleTouchStyle?: ViewStyle; /** * Color of the title touch highlight */ titleUnderlayColor?: string; /** * @TJS-ignore */ children: ReactNode; } export declare type BaseSerializableAccordionProps = WithMediaQueryInnerProps>; export declare type SerializableAccordionProps = WithConditionalProps & WithDataTextProps, 'title'>; export declare const SerializableAccordion: FC; export default SerializableAccordion;