import { default as React } from 'react';
import { AnchorTarget } from '../../constants';
import { ButtonProps, ButtonTags } from '../Button';
import { TitleTags } from '../Title';
export declare enum PanelOldStatus {
    normal = "normal",
    new = "new",
    error = "error",
    draft = "draft"
}
export declare enum PanelOldVariant {
    fill = "fill",
    white = "white",
    stroke = "stroke",
    line = "line"
}
export declare enum PanelOldLayout {
    layout1 = "layout1",
    layout2 = "layout2",
    layout3a = "layout3a",
    layout3b = "layout3b",
    layout3c = "layout3c"
}
export interface PanelOldProps {
    /** Adds custom classes to the element. */
    className?: string;
    /** Panel section A content */
    contentA?: React.ReactNode | string;
    /** Panel section B content */
    contentB?: React.ReactNode | string;
    /** Content for a container that renders above A and B regardless of layout */
    contentHeader?: React.ReactNode;
    /** Container acts as a button, clicking anywhere triggers a panel button click */
    containerAsButton?: boolean;
    /** Panel children */
    children?: React.ReactNode;
    /** Displays date with icon */
    date?: string;
    /** Expands or collapses the panel */
    expanded?: boolean;
    /** Whether the panel can be focused */
    focusable?: boolean;
    /** Icon displayed in title */
    icon?: React.ReactNode;
    /** Panel button text */
    buttonText?: string;
    /** Panel button close text */
    buttonTextClose?: string;
    /** HTML markup for panel button. Default: a */
    buttonHtmlMarkup?: ButtonTags;
    /** Callback when the panel button is clicked */
    buttonOnClick?: ButtonProps['onClick'];
    /** Panel button is aria-labelledby the text in the button itself + the element set in buttonAriaLabelledById. Default: auto-generated id for title (if title is set). */
    buttonAriaLabelledById?: string;
    /** Panel button aria label */
    buttonAriaLabel?: string;
    /** Layout of the panel */
    layout?: keyof typeof PanelOldLayout;
    /** Removes top border when variant is "line" */
    noTopBorder?: boolean;
    /** Called when the panel is opened/closed */
    onExpand?: (isExpanded: boolean) => void;
    /** Whether to render children when closed (in which case they are hidden with CSS). Default: false */
    renderChildrenWhenClosed?: boolean;
    /** Displays a status on the left side: default normal */
    status?: keyof typeof PanelOldStatus;
    /** Displayed on top of the panel with a status icon */
    statusMessage?: string;
    /** Sets the data-testid attribute for testing purposes */
    testId?: string;
    /** Displays time with icon */
    time?: string;
    /** Title of the panel */
    title?: string;
    /** Changes the underlying element of the title. Default: h2 */
    titleHtmlMarkup?: TitleTags;
    /** Changes the visual representation of the panel */
    variant?: keyof typeof PanelOldVariant;
    /** URL to details, renders as a button with anchor tag */
    url?: string;
    /** target used in the button: default is _self */
    target?: AnchorTarget;
}
export interface LayoutProps extends Pick<PanelOldProps, 'contentA' | 'contentB' | 'contentHeader' | 'icon' | 'layout' | 'status' | 'statusMessage'> {
    ctaContainer?: React.ReactNode;
    titleElement: React.ReactNode;
}
declare const PanelOld: React.ForwardRefExoticComponent<PanelOldProps & React.RefAttributes<HTMLHeadingElement>>;
export default PanelOld;
