import type { CSSProperties, DetailsHTMLAttributes, KeyboardEvent, ReactNode } from 'react';
import { ExpandableCardTitle } from './components/Title';
import type { EXPANDABLE_CARD_SIZE } from './constants';
type ExpandableCardSize = (typeof EXPANDABLE_CARD_SIZE)[number];
type DraggableProps = {
draggable: true;
value: string;
draggableTooltip?: string;
onDrop?: (newValue: string, oldValue: string) => void;
/**
* Index of the card in the of draggable cards
*/
index: number;
/**
* You this prop to handle drag and drop with the keyboard (accessibility)
*/
onKeyDown?: (event: KeyboardEvent) => void;
} | {
draggable?: never;
value?: never;
draggableTooltip?: never;
onDrop?: never;
index?: never;
onKeyDown?: never;
};
type CommonProps = {
header: ReactNode;
size?: ExpandableCardSize;
name?: string;
children: ReactNode;
disabled?: boolean;
'data-testid'?: string;
className?: string;
/** Uncontrolled but open by default */
open?: DetailsHTMLAttributes['open'];
style?: CSSProperties;
} & DraggableProps;
export declare const ExpandableCard: import("react").ForwardRefExoticComponent<(({} & (CommonProps & {
expanded: boolean;
onToggleExpand: () => void;
})) | ({
expanded?: undefined;
onToggleExpand?: undefined;
} & CommonProps)) & import("react").RefAttributes> & {
Title: typeof ExpandableCardTitle;
};
export {};
//# sourceMappingURL=index.d.ts.map