import React from 'react';
import { LabelAndDataProps } from '../LabelAndData/LabelAndData';
import { TagProps } from '../Tag/Tag';
type HeaderBase = {
    /** The header label and data that appears in the left side of the header */
    labelAndData?: Omit<LabelAndDataProps, 'children' | 'customClass' | 'labelClass'>;
};
type HeaderWithTag = HeaderBase & {
    /** The tag that appears in the right side of the header */
    tag?: TagProps;
    edit?: never;
};
type HeaderWithEdit = HeaderBase & {
    tag?: never;
    /** The edit function to be passed into the edit icon in the right side of the header */
    edit?: () => void;
};
export type InformationPaneProps = {
    /** InformationPane will accept any children elements. It is recommended to use the components defined in this file - ImageAndName, Section, CustomSection, and Divider - to achieve the desired design. */
    children: React.ReactNode;
    /** The header that will be displayed when `simple` is not defined. This will always be displayed in the desktop view, even if `simple` is defined. */
    header: HeaderWithTag | HeaderWithEdit;
    /** Optional prop to simplify the mobile view for this component. */
    simple?: SimpleProps;
};
declare const InformationPane: {
    ({ header, children, simple, }: InformationPaneProps): JSX.Element;
    ImageAndName: ({ imgUrl, product }: ImageAndNameProps) => JSX.Element;
    Section: ({ data, isTwoColumns }: SectionProps) => JSX.Element;
    CustomSection: ({ isOffset, children }: CustomSectionProps) => React.JSX.Element;
    Divider: () => JSX.Element;
    Simple: ({ imgUrl, product, identifier }: SimpleProps) => JSX.Element;
};
type ImageAndNameProps = {
    /** The url of the product image */
    imgUrl?: string;
    /** The product name and associated marketplace url */
    product: {
        name: string;
        url?: string;
    };
};
type SectionProps = {
    /** Array of LabelAndData props that will populate in this section */
    data: Omit<LabelAndDataProps, 'customClass' | 'labelClass'>[];
    /** Boolean used to style the section into 1 or 2 columns. 1 column is the default. */
    isTwoColumns?: boolean;
};
type CustomSectionProps = {
    /** The children elements to be passed into the component. */
    children: React.ReactNode;
    /** Moves the section up by 32px. Caution - should only be used as part of a top section that is directly below the header. */
    isOffset?: boolean;
};
type SimpleProps = ImageAndNameProps & {
    /** The product identifier */
    identifier: string;
};
export { InformationPane };
