import { Component } from 'react'; import { Animated, PanResponderInstance, ViewStyle } from 'react-native'; export interface SwitchProps { testID?: string; style?: ViewStyle | ViewStyle[]; value?: boolean; disabled?: boolean; rockerSize?: 'lg' | 'sm'; activeColor?: string; onChange?: Function; } export interface SwitchState { value: boolean; toggleable: boolean; alignItems: 'flex-end' | 'flex-start'; handlerAnimation: Animated.Value; switchAnimation: Animated.Value; } export declare class Switch extends Component { static defaultProps: { style: {}; value: boolean; disabled: boolean; rockerSize: string; activeColor: any; }; offset: number; panResponder: PanResponderInstance; shadowColor: string; constructor(props: any); componentWillReceiveProps(nextProps: any): void; componentWillMount(): void; onPanResponderGrant: () => void; onPanResponderMove: (evt: any, gestureState: any) => void; onPanResponderRelease: () => void; /** * 切换 */ toggleSwitch: (result: any, callback: Function) => void; toggleSwitchToValue: (result: any, toValue?: any, callback?: Function) => void; animateSwitch: (value: any, callback?: () => any) => void; animateHandler: (value: any, callback?: () => any) => void; circlePosition: (value: any) => number; getContainBaseStyle: () => { width: number; height: number; alignItems: "flex-start" | "flex-end"; borderRadius: number; borderWidth: number; borderColor: string; backgroundColor: Animated.AnimatedInterpolation; }; getRockerBaseStyle: () => { backgroundColor: Animated.AnimatedInterpolation; width: Animated.Value; height: number; marginHorizontal: number; borderRadius: number; shadowColor: any; shadowOffset: { h: number; w: number; }; shadowRadius: number; shadowOpacity: number; transform: { translateX: Animated.AnimatedInterpolation; }[]; borderColor: any; }; render(): JSX.Element; }