import { NativeStackNavigationOptions } from '@react-navigation/native-stack'; import React, { ReactNode } from 'react'; import { type AccessibilityRole, type StyleProp, type ViewStyle } from 'react-native'; import type { ButtonProps, TextButtonProps } from '../display'; import { IconString } from '../display'; /** * Screen options for the formsheet's NativeStackNavigation route * * Returns a factory rather than an object because callers assign it at module * scope, which runs before ChatProvider reports the host's liquid glass * capability. React Navigation calls the factory per render, so the sheet * corner radius is resolved once that capability is known. * * @param {string} options.headerTitle - Doesn't show in UI but good to have for semantic reasons. * @param {number[]} [options.sheetAllowedDetents] - Controls the height increments the sheet grows to. To prevent bugs in Android, do not specify more then two values and use [0.94] instead of [1] to go full screen. * @param {NativeStackNavigationOptions} [options.rest] - Adds or overrides any valid NativeStackNavigationOptions * @returns {() => NativeStackNavigationOptions} Factory producing merged NativeStackNavigationOptions */ export declare const getFormSheetScreenOptions: ({ headerTitle, sheetAllowedDetents, ...rest }?: NativeStackNavigationOptions) => () => NativeStackNavigationOptions; type FormSheetComponents = { Root: React.FC; Action: React.FC; Header: React.FC; HeaderTitle: React.FC; HeaderActions: React.FC; HeaderTextButton: React.FC; HeaderButton: React.FC; }; declare const _default: FormSheetComponents; export default _default; export type { FormSheetActionProps, FormSheetHeaderActionsProps, FormSheetHeaderButtonProps, FormSheetHeaderProps, FormSheetHeaderTextButtonProps, FormSheetHeaderTitleProps, FormSheetRootProps, }; interface FormSheetRootProps { children: ReactNode; style?: StyleProp; contentStyle?: StyleProp; showAndroidSheetGrabber?: boolean; fitToContents?: boolean; } export declare function FormSheetRoot({ children, style, contentStyle, showAndroidSheetGrabber, fitToContents, }: FormSheetRootProps): import("react/jsx-runtime").JSX.Element; export declare namespace FormSheetRoot { var displayName: string; } interface FormSheetHeaderProps { children: ReactNode; style?: StyleProp; } interface FormSheetHeaderTitleProps { children: ReactNode; } interface FormSheetHeaderActionsProps { children: ReactNode; } interface FormSheetHeaderTextButtonProps extends Omit { children: string; } interface FormSheetHeaderButtonProps extends Omit { } declare const FORM_SHEET_ACTION_APPEARANCES: { readonly neutral: "neutral"; readonly danger: "danger"; }; type FormSheetActionAppearanceUnion = (typeof FORM_SHEET_ACTION_APPEARANCES)[keyof typeof FORM_SHEET_ACTION_APPEARANCES]; interface FormSheetActionProps { title: string; iconName?: IconString; onPress: () => void; accessibilityLabel?: string; accessibilityHint?: string; accessibilityRole?: AccessibilityRole; appearance?: FormSheetActionAppearanceUnion; disabled?: boolean; disabledReason?: string; testID?: string; } //# sourceMappingURL=form_sheet.d.ts.map