import * as React from 'react';
import type { Override } from '../helpers/overrides';
import { ACTION_POSITION, ARTWORK_TYPE, HIERARCHY, KIND } from './constants';
import type { SyntheticEvent } from 'react';
export declare type ActionPosition = typeof ACTION_POSITION[keyof typeof ACTION_POSITION];
export declare type ArtworkType = typeof ARTWORK_TYPE[keyof typeof ARTWORK_TYPE];
export declare type Hierarchy = typeof HIERARCHY[keyof typeof HIERARCHY];
export declare type Kind = typeof KIND[keyof typeof KIND];
export declare type ActionContent = {
    label: string;
    icon?: (a: {
        size: string;
    }) => React.ReactNode;
    onClick: (a: SyntheticEvent<HTMLButtonElement>) => unknown;
    position?: ActionPosition;
};
export declare type ArtworkContent = {
    icon: (a: {
        size: string;
    }) => React.ReactNode;
    type?: ArtworkType;
};
export declare type BannerProps = {
    action?: ActionContent;
    artwork?: ArtworkContent;
    children: React.ReactNode;
    hierarchy?: Hierarchy;
    kind?: Kind;
    overrides?: {
        BelowContent?: Override;
        LeadingContent?: Override;
        Message?: Override;
        MessageContent?: Override;
        Root?: Override;
        Title?: Override;
        TrailingContent?: Override;
        TrailingButtonContainer?: Override;
        TrailingIconButton?: Override;
    };
    nested?: boolean;
    title?: React.ReactNode;
};
