import { NativeElementPropsWithoutKeyAndRef } from '../utils/jsx-types'; import type { ButtonProps } from '../Button'; import { DropdownProps } from '../Dropdown'; /** * Single button configuration - only primary button is allowed */ type SingleButtonAction = { secondaryButton?: never; primaryButton: ButtonProps; }; /** * Two buttons configuration - both secondary and primary buttons */ type TwoButtonsAction = { secondaryButton: ButtonProps; primaryButton: ButtonProps; }; /** * Actions can be either single button or two buttons */ export type PageFooterActions = SingleButtonAction | TwoButtonsAction; export type PageFooterType = 'standard' | 'overflow' | 'information'; type PageFooterBaseProps = NativeElementPropsWithoutKeyAndRef<'footer'> & { /** * Action buttons configuration for primary and secondary actions. * Renders buttons in the order: secondary (left), primary (right). */ actions?: PageFooterActions; /** * The className of annotation wrapper. */ annotationClassName?: string; /** * The warning message in the middle. */ warningMessage?: string; }; type PageFooterStandardProps = PageFooterBaseProps & { /** * The type of PageFooter annotation. * @default 'standard' */ type?: 'standard'; /** * The text/label (children) for the supporting action button in the PageFooter annotation. */ supportingActionName?: ButtonProps['children']; /** * The HTML button type for the supporting action (e.g., 'button', 'submit', 'reset'). */ supportingActionType?: ButtonProps['type']; /** * Click handler for the supporting action button in the PageFooter annotation. */ supportingActionOnClick?: ButtonProps['onClick']; /** * Visual style variant of the supporting action button in the PageFooter * (for example, 'base-ghost', 'base-secondary'). * @default 'base-ghost' */ supportingActionVariant?: ButtonProps['variant']; }; type PageFooterOverflowProps = PageFooterBaseProps & { /** * The type of PageFooter annotation. */ type: 'overflow'; /** * Overflow type: Icon for the icon-only button. * @default DotHorizontalIcon */ supportingActionIcon?: ButtonProps['icon']; /** * Dropdown props for the supporting action button. */ dropdownProps: Partial; }; type PageFooterInformationProps = PageFooterBaseProps & { /** * The type of PageFooter annotation. */ type: 'information'; /** * Information type: Plain text to display. */ annotation?: string; }; export type PageFooterProps = PageFooterStandardProps | PageFooterOverflowProps | PageFooterInformationProps; declare const PageFooter: import("react").ForwardRefExoticComponent>; export default PageFooter;