import PropTypes from 'prop-types';
import { BulletPointMenuButtonProps } from '../../molecule/bullet-point-menu-button/types';
import { ButtonLinkProps } from '../../atom/button-link/types';
declare const headerWithActionsPropTypes: {
    closeButton: PropTypes.Requireable<PropTypes.InferProps<{
        size: PropTypes.Validator<string>;
        icon: PropTypes.Validator<string>;
        'data-name': PropTypes.Validator<string>;
        'aria-label': PropTypes.Validator<string>;
        onClick: PropTypes.Validator<(...args: any[]) => any>;
    }>>;
    title: PropTypes.Validator<string>;
    tag: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
        label: PropTypes.Validator<string>;
        type: PropTypes.Validator<string>;
        size: PropTypes.Validator<string>;
    }>>>;
    saveStatus: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
        display: PropTypes.Validator<boolean>;
        label: PropTypes.Requireable<string>;
    }>>>;
    bulletPointMenuButton: PropTypes.Requireable<PropTypes.InferProps<{
        'data-name': PropTypes.Requireable<string>;
        disabled: PropTypes.Requireable<boolean>;
        buttonAriaLabel: PropTypes.Requireable<string>;
        menuAriaLabel: PropTypes.Requireable<string>;
        buttons: PropTypes.Validator<(PropTypes.InferProps<{
            'data-name': PropTypes.Requireable<string>;
            disabled: PropTypes.Requireable<boolean>;
            label: PropTypes.Validator<string>;
            onClick: PropTypes.Requireable<(...args: any[]) => any>;
            type: PropTypes.Requireable<string>;
            buttonLinkType: PropTypes.Requireable<string>;
            icon: PropTypes.Requireable<PropTypes.InferProps<{
                theme: PropTypes.Requireable<string>;
                position: PropTypes.Requireable<string>;
                type: PropTypes.Requireable<string>;
                faIcon: PropTypes.Requireable<PropTypes.InferProps<{
                    name: PropTypes.Validator<string>;
                    color: PropTypes.Requireable<string>;
                    backgroundColor: PropTypes.Requireable<string>;
                    size: PropTypes.Requireable<number>;
                    customStyle: PropTypes.Requireable<{
                        [x: string]: NonNullable<string | number | null | undefined> | null | undefined;
                    }>;
                }>>;
            }>>;
            customStyle: PropTypes.Requireable<{
                [x: string]: NonNullable<string | number | null | undefined> | null | undefined;
            }>;
        }> | null | undefined)[]>;
        onClick: PropTypes.Requireable<(...args: any[]) => any>;
        menuButtonClassName: PropTypes.Requireable<string>;
        isBulkMenu: PropTypes.Requireable<boolean>;
    }>>;
    actionButtons: PropTypes.Validator<(PropTypes.InferProps<{
        type: PropTypes.Requireable<string>;
        usage: PropTypes.Requireable<string>;
        label: PropTypes.Requireable<string>;
        content: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        'aria-label': PropTypes.Requireable<string>;
        tooltipText: PropTypes.Requireable<string>;
        tooltipPlacement: PropTypes.Requireable<string>;
        'data-name': PropTypes.Requireable<string>;
        'data-testid': PropTypes.Requireable<string>;
        icon: PropTypes.Requireable<PropTypes.InferProps<{
            position: PropTypes.Requireable<string>;
            type: PropTypes.Requireable<string>;
            faIcon: PropTypes.Requireable<PropTypes.InferProps<{
                name: PropTypes.Validator<string>;
                color: PropTypes.Requireable<string>;
                backgroundColor: PropTypes.Requireable<string>;
                size: PropTypes.Requireable<number>;
                customStyle: PropTypes.Requireable<{
                    [x: string]: NonNullable<string | number | null | undefined> | null | undefined;
                }>;
            }>>;
        }>>;
        onClick: PropTypes.Requireable<(...args: any[]) => any>;
        link: PropTypes.Requireable<PropTypes.InferProps<{
            href: PropTypes.Requireable<string>;
            download: PropTypes.Requireable<boolean>;
            target: PropTypes.Requireable<string>;
        }>>;
        hoverBackgroundColor: PropTypes.Requireable<string>;
        hoverColor: PropTypes.Requireable<string>;
        disabled: PropTypes.Requireable<boolean>;
        className: PropTypes.Requireable<string>;
        customStyle: PropTypes.Requireable<{
            [x: string]: NonNullable<string | number | null | undefined> | null | undefined;
        }>;
    }> | null | undefined)[]>;
};
export default headerWithActionsPropTypes;
declare type TagProps = {
    label: 'Published' | 'Ongoing changes' | 'Draft' | 'Archived';
    type: 'success' | 'progress' | 'warning';
    size: string;
};
declare type SaveStatusProps = {
    display: boolean;
    label?: 'Unsaved changes' | 'Saved';
};
declare type CloseButtonProps = {
    size: 'default' | 'small' | 'responsive';
    icon: string;
    'data-name': string;
    'aria-label': string;
    onClick: () => void;
};
export declare type HeaderWithActionsProps = {
    closeButton: CloseButtonProps;
    title: string;
    tag: TagProps;
    saveStatus: SaveStatusProps;
    actionButtons: ButtonLinkProps[];
    bulletPointMenuButton?: BulletPointMenuButtonProps;
};
export declare type HeaderWithActionsPropsFixture = {
    props: HeaderWithActionsProps;
};
//# sourceMappingURL=types.d.ts.map