import { PropsWithChildren } from "react";
import { ViewStyle } from "react-native";
import { AnimatedStyle } from "react-native-reanimated";
import { WithTestID } from "../../utils/types";
import { IOButtonBlockSpecificProps, IOButtonLinkSpecificProps } from "../buttons";
type IOButtonBlockProps = Omit<IOButtonBlockSpecificProps, "variant" | "fullWidth">;
type IOButtonLinkProps = Omit<IOButtonLinkSpecificProps, "variant">;
type FooterSingleButton = {
    type: "SingleButton";
    primary: IOButtonBlockProps;
    secondary?: never;
    tertiary?: never;
};
type FooterTwoButtons = {
    type: "TwoButtons";
    primary: IOButtonBlockProps;
    secondary: IOButtonLinkProps;
    tertiary?: never;
};
type FooterThreeButtons = {
    type: "ThreeButtons";
    primary: IOButtonBlockProps;
    secondary: IOButtonBlockProps;
    tertiary: IOButtonLinkProps;
};
export type FooterActionsMeasurements = {
    actionBlockHeight: number;
    safeBottomAreaHeight: number;
};
type FooterActions = FooterSingleButton | FooterTwoButtons | FooterThreeButtons;
type FooterAnimatedStyles = {
    mainBlock?: AnimatedStyle<ViewStyle>;
    background?: AnimatedStyle<ViewStyle>;
};
type FooterActionsProps = WithTestID<PropsWithChildren<{
    actions?: FooterActions;
    onMeasure?: (measurements: FooterActionsMeasurements) => void;
    animatedStyles?: FooterAnimatedStyles;
    transparent?: boolean;
    excludeSafeAreaMargins?: boolean;
    fixed?: boolean;
    debugMode?: boolean;
}>>;
export declare const FooterActions: ({ actions, excludeSafeAreaMargins, animatedStyles, fixed, transparent, onMeasure, testID, debugMode }: FooterActionsProps) => import("react/jsx-runtime").JSX.Element;
export {};
//# sourceMappingURL=FooterActions.d.ts.map