import { default as React } from 'react';
import { ButtonSize, ButtonType, ButtonVariant } from './Button';
export interface CancelBtnProps {
    label: string;
    isDisabled?: boolean;
    isLoading?: boolean;
    prefixIcon?: JSX.Element;
    reverseSpinnerColor?: boolean;
    shouldResetOnCancel?: boolean;
    size?: ButtonSize;
    style?: React.CSSProperties;
    suffixIcon?: JSX.Element;
    onClick?: () => void;
}
export interface PrimaryBtnProps {
    label: string;
    isDisabled?: boolean;
    isLoading?: boolean;
    prefixIcon?: JSX.Element;
    size?: ButtonSize;
    style?: React.CSSProperties;
    suffixIcon?: JSX.Element;
    type?: ButtonType;
    variant?: ButtonVariant;
    onClick?: () => void;
}
interface FooterWithCancel extends BaseFooterProps {
    cancelBtn: CancelBtnProps;
    showCancel: true;
}
interface FooterWithoutCancel extends BaseFooterProps {
    cancelBtn?: CancelBtnProps;
    showCancel?: false;
}
interface BaseFooterProps {
    primaryBtn: PrimaryBtnProps;
    cancelBtn?: CancelBtnProps;
    children?: React.ReactNode;
    containerStyle?: React.CSSProperties;
    customPrimaryButton?: JSX.Element | null;
    footerContentStyle?: React.CSSProperties;
    formId?: string;
    helperContainerStyle?: React.CSSProperties;
    helperStyle?: React.CSSProperties;
    helperText?: JSX.Element | string;
    leftSideComponent?: JSX.Element | null;
    rightSideComponent?: JSX.Element | null;
    separatorStyle?: React.CSSProperties;
    showCancel?: boolean;
    showPrimaryButton?: boolean;
    style?: React.CSSProperties;
    topComponent?: JSX.Element | null;
}
type FooterProps = FooterWithCancel | FooterWithoutCancel;
export default function Footer({ primaryBtn, formId, showCancel, showPrimaryButton, helperText, helperStyle, helperContainerStyle, style, footerContentStyle, containerStyle, separatorStyle, leftSideComponent, topComponent, rightSideComponent, customPrimaryButton, cancelBtn, children, }: Readonly<FooterProps>): import("react/jsx-runtime").JSX.Element;
export {};
