///
import type { StyleProp, ViewStyle } from 'react-native';
import { SharedValue } from 'react-native-reanimated';
export interface SurfaceComponentProps {
/**
* Animated value between 0 and 1 that indicates whether the small header's content should be
* visible. This is used to animate the header's content in and out.
*
* @type {SharedValue}
*/
showNavBar: SharedValue;
}
/**
* The props for the navigation bar component.
*/
export interface HeaderProps {
/**
* The style of the root container of the header.
*
* @default undefined
* @type {StyleProp}
*/
headerStyle?: StyleProp;
/**
* The component to be rendered on the left side of the header. This is usually a back button.
*
* @default undefined
* @type {React.ReactNode}
*/
headerLeft?: React.ReactNode;
/**
* The style of the headerLeft container component.
*
* @default undefined
* @type {StyleProp}
*/
headerLeftStyle?: StyleProp;
/**
* Whether the headerLeft component should fade in when the header is scrolled up.
*
* @default false
* @type {boolean}
*/
headerLeftFadesIn?: boolean;
/**
* The component to be rendered in the center of the header.
*
* @default undefined
* @type {React.ReactNode}
*/
headerCenter?: React.ReactNode;
/**
* The style of the headerCenter container component.
*
* @default undefined
* @type {StyleProp}
*/
headerCenterStyle?: StyleProp;
/**
* Whether the headerCenter component should fade in when the header is scrolled up.
*
* @default true
* @type {boolean}
*/
headerCenterFadesIn?: boolean;
/**
* The component to be rendered on the right side of the header.
*
* @default undefined
* @type {React.ReactNode}
*/
headerRight?: React.ReactNode;
/**
* The style of the headerRight container component.
*
* @default undefined
* @type {StyleProp}
*/
headerRightStyle?: StyleProp;
/**
* Whether the headerRight component should fade in when the header is scrolled up.
*
* @default false
* @type {boolean}
*/
headerRightFadesIn?: boolean;
/**
* Whether the header should ignore the top safe area. If you are rendering the header in an iOS
* modal, you should set this to true.
*
* @default false
* @type {boolean}
*/
ignoreTopSafeArea?: boolean;
/**
* Animated value between 0 and 1 that indicates whether the small header's content should be
* visible. This is used to animate the header's content in and out.
*
* @type {SharedValue}
*/
showNavBar: SharedValue;
/**
* Whether the header should have no bottom border.
*
* @default false
* @type {boolean}
*/
noBottomBorder?: boolean;
/**
* The color of the border when the header is not scrolled up.
*
* @default '#E5E5E5'
* @type {string}
*/
initialBorderColor?: string;
/**
* The color of the bottom border.
*
* @default '#E5E5E5'
* @type {string}
*/
borderColor?: string;
/**
* The width of the bottom border.
*
* @default {StyleSheet.hairlineWidth}
* @type {number}
*/
borderWidth?: number;
/**
* A custom component to be rendered as the header's surface. This is useful if you want to
* customize the header's surface with a background/blur.
*
* @param {SurfaceComponentProps} props
* @returns {React.ReactNode}
*/
SurfaceComponent?: (props: SurfaceComponentProps) => React.ReactNode;
}
/**
* The props for the large header component.
*/
export interface LargeHeaderProps {
/**
* The style of the root container of the header.
*
* @default undefined
* @type {StyleProp}
*/
headerStyle?: StyleProp;
}
//# sourceMappingURL=types.d.ts.map