import { default as React } from 'react';
import { AccordionProps as MuiAccordionProps } from '@mui/material';
export type DefaultExpandedListType = string[] | undefined;
export type ExpandIconType = React.ReactNode;
export interface DataListProps {
    id: string;
    summaryChildren: React.ReactNode | string;
    detailsChildren: React.ReactNode | string;
    disabled?: boolean;
}
export interface AccordionItemsProps extends DataListProps {
    expandIcon?: ExpandIconType;
    ariaControls?: string;
    defaultExpandedList?: DefaultExpandedListType;
}
export interface CustomAccordionProps {
    /** 클릭한 아코디언만 열리고 나머지 아코디언은 닫히게 한다. */
    singleExpand?: boolean;
    /** 버튼과 같은 action 요소를 넣을 수 있다. */
    actionChildren?: React.ReactNode | undefined;
}
export interface AccordionProps extends Omit<MuiAccordionProps, "children" | "expandIcon">, CustomAccordionProps {
    /** 필수로 받아야 하는 데이터 */
    dataList: DataListProps[];
    /** 디폴트로 열려있어야 하는 아코디언 (값: dataList의 id값이 배열로 들어간다)*/
    defaultExpandedList?: DefaultExpandedListType;
    /** 전체 아코디언을 디폴트로 열려있게 할 수 있다. (값: true)*/
    defaultExpanded?: boolean;
    /** 사용자지정 아이콘 (값: React.ReactNode)  */
    expandIcon?: ExpandIconType;
    /** 비활성화 상태 (기본값: false) */
    disabled?: boolean;
    /** 띄어진 공간 제거 (기본값: false) */
    disableGutters?: boolean;
    /** 확장 상태 (기본값: false) */
    allExpanded?: boolean;
    /** 확장 상태 변경 핸들러 */
    onChange?: (event: React.SyntheticEvent, expanded: boolean) => void;
    /** 네모 형태 여부 (기본값: false) */
    square?: boolean;
}
export declare const Accordion: {
    ({ dataList, allExpanded, expandIcon, singleExpand, actionChildren, defaultExpandedList, defaultExpanded, square, ...props }: AccordionProps): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
