import { ReactElement } from 'react';
import { Button } from '../button';
import { Resize } from '../resize';
/** The props for a single entry in the {@link Accordion} component. */
export interface Entry {
    /** A unique key for the entry. */
    key: string;
    /** The name for the entries header. */
    name: string;
    /** The content for the entry. */
    content: ReactElement;
    /**
     * The initial size for the entry. It's recommended to set this to a decimal value
     * representing the percentage of the overall parent size.
     */
    initialSize?: number;
    /**
     * A list of actions to display in the entry's header. See the {@link Header.Actions}
     * component for more details.
     */
    actions?: Array<Button.IconProps | ReactElement>;
}
/** The props for the {@link Accordion} component. */
export interface AccordionProps extends Omit<Resize.MultipleProps, "sizeDistribution" | "parentSize" | "onDragHandle" | "direction"> {
    data: Entry[];
}
/**
 * A resizable accordion component, whose entries can be expanded and collapsed. This
 * component is intentionally opinionated in its interface in order to provide stylistic
 * consistency and simplicity. If you need more control, look at building a custom
 * accordion component using {@link Resize.Multiple}.
 *
 * @param props - All unused props are passed to the underlying {@link Resize.Multiple}
 * component.
 * @param props.entries - The entries to display in the accordion. See the
 * {@link Entry} interface for more details.
 */
export declare const Accordion: ({ data, ...props }: AccordionProps) => ReactElement;
//# sourceMappingURL=Accordion.d.ts.map