import type { MutableRefObject, RefCallback } from 'react'; import type { XstyledProps, DSPropTypesSchema, ValidationMap } from '@elliemae/ds-props-helpers'; import { type TypescriptHelpersT } from '@elliemae/ds-typescript-helpers'; import { BANNER_TYPES, DSBannerName, DSBannerSlots } from './exported-related/index.js'; export declare namespace DSBannerT { interface ActionRef { focusOnWrapper?: () => void; focusOnLink?: () => void; } interface ActionLinkT { label: string; onClick?: (event: React.MouseEvent) => void | null; href?: string; } type BannerTypesT = (typeof BANNER_TYPES)[keyof typeof BANNER_TYPES]; interface RequiredProps { } interface DefaultProps { containerProps: Record; label: string; body: string; type: BannerTypesT; isOpen: boolean; onClose: () => void | null; showCloseButton: boolean; withLiveRegionAnnouncement: 'alert' | 'assertive' | 'polite' | 'none'; isPageNotice: boolean; } interface OptionalProps extends TypescriptHelpersT.PropsForGlobalOnSlots { actionLink?: ActionLinkT; CustomBody?: React.ComponentType>; closeBtnRef?: React.MutableRefObject | RefCallback; actionRef?: MutableRefObject; } interface Props extends Partial, OptionalProps, XstyledProps, RequiredProps { } interface InternalProps extends DefaultProps, OptionalProps, XstyledProps, RequiredProps { } } export declare const defaultProps: DSBannerT.DefaultProps; export declare const DSBannerPropTypes: DSPropTypesSchema; export declare const DSBannerPropTypesSchema: ValidationMap;