import { ComponentProps, ReactNode } from "react";
import { ScrollViewProps } from "react-native";
import Animated, { AnimatedRef } from "react-native-reanimated";
import { FooterActions } from "../layout";
type ForceScrollDownViewActions = {
    /**
     * The distance from the bottom is computed automatically based on the actions.
     */
    threshold?: never;
    footerActions: Omit<ComponentProps<typeof FooterActions>, "fixed" | "onMeasure">;
};
type ForceScrollDownViewCustomSlot = {
    /**
     * The distance from the bottom of the scrollable content at which the "scroll to bottom" button
     * should become hidden.
     */
    threshold: number;
    footerActions?: never;
};
type ForceScrollDownViewSlot = ForceScrollDownViewActions | ForceScrollDownViewCustomSlot;
export type ForceScrollDownView = {
    /**
     * The content to display inside the scroll view.
     */
    children: ReactNode;
    /**
     * A callback that will be called whenever the scroll view crosses the threshold. The callback
     * is passed a boolean indicating whether the threshold has been crossed (`true`) or not (`false`).
     */
    onThresholdCrossed?: (crossed: boolean) => void;
    /**
     * Optional Animated ref to be used with `useScrollOffset`
     * (outside this component)
     */
    animatedRef?: AnimatedRef<Animated.ScrollView>;
} & ForceScrollDownViewSlot & Pick<ScrollViewProps, "style" | "contentContainerStyle" | "scrollEnabled" | "testID">;
/**
 * A React Native component that displays a scroll view with a button that scrolls to the bottom of the content
 * when pressed. The button is hidden when the scroll view reaches a certain threshold from the bottom, which is
 * configurable by the `threshold` prop. The button, and the scrolling, can also be disabled by setting the
 * `scrollEnabled` prop to `false`.
 */
declare const ForceScrollDownView: ({ footerActions, children, threshold: customThreshold, style, contentContainerStyle, scrollEnabled, onThresholdCrossed, animatedRef }: ForceScrollDownView) => import("react/jsx-runtime").JSX.Element;
export { ForceScrollDownView };
//# sourceMappingURL=ForceScrollDownView.d.ts.map