import * as React from 'react';
import { ButtonProps, ButtonSize } from '../Button';
import { BaseModalLayoutProps, ModalTheme } from '../BaseModalLayout';
export interface AnnouncementModalLayoutProps extends BaseModalLayoutProps {
    /** The modal's title */
    title?: React.ReactNode;
    /** The modal's subtitle */
    subtitle?: React.ReactNode;
    /** the content you want to render in the modal, children passed directly will be treated as `content` as well */
    content?: React.ReactNode;
    /** a text for the primary action button */
    primaryButtonText?: React.ReactNode;
    /** Passed to the primary action button as props without any filter / mutation */
    primaryButtonProps?: Omit<ButtonProps, 'dataHook'>;
    /** a callback for when the primary action button is clicked */
    primaryButtonOnClick?(): void;
    /** a text for the secondary action button */
    secondaryButtonText?: React.ReactNode;
    /** Passed to the secondary button as props without any filter / mutation */
    secondaryButtonProps?: Omit<ButtonProps, 'dataHook'>;
    /** callback for when the secondary action button is clicked */
    secondaryButtonOnClick?(): void;
    /** will determine the action buttons size*/
    actionsSize?: ButtonSize;
    /** side actions node, to be rendered as the first element on the same row as the action buttons */
    sideActions?: React.ReactNode;
    /** a footnote node, to be rendered at the very bottom of the modal */
    footnote?: React.ReactNode;
    /** The illustration src or the illustration node itself */
    illustration?: React.ReactNode;
    /** When not provided, the primary link will not be rendered */
    linkText?: React.ReactNode;
    /** callback for when the link is clicked */
    linkOnClick?: () => void;
    /** a global theme for the modal, will be applied as stylable state and will affect footer buttons skin */
    theme?: Exclude<ModalTheme, 'destructive'>;
}
//# sourceMappingURL=AnnouncementModalLayout.types.d.ts.map