export default class AccordionList extends Component<any, any, any> {
    static propTypes: {
        style: PropTypes.Requireable<object>;
        className: PropTypes.Requireable<string>;
        id: PropTypes.Requireable<string>;
        width: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
        maxHeight: PropTypes.Requireable<number>;
        role: PropTypes.Requireable<string>;
        sections: PropTypes.Validator<any[]>;
        initiallyOpenSection: PropTypes.Requireable<number>;
        globalSearch: PropTypes.Requireable<boolean>;
        openSection: PropTypes.Requireable<number>;
        onChange: PropTypes.Requireable<(...args: any[]) => any>;
        onChangeSection: PropTypes.Requireable<(...args: any[]) => any>;
        renderSectionIcon: PropTypes.Requireable<(...args: any[]) => any>;
        renderSearchSection: PropTypes.Requireable<(...args: any[]) => any>;
        itemIsSelected: PropTypes.Requireable<(...args: any[]) => any>;
        itemIsClickable: PropTypes.Requireable<(...args: any[]) => any>;
        renderItemName: PropTypes.Requireable<(...args: any[]) => any>;
        renderItemLabel: PropTypes.Requireable<(...args: any[]) => any>;
        renderItemDescription: PropTypes.Requireable<(...args: any[]) => any>;
        renderItemIcon: PropTypes.Requireable<(...args: any[]) => any>;
        renderItemExtra: PropTypes.Requireable<(...args: any[]) => any>;
        renderItemWrapper: PropTypes.Requireable<(...args: any[]) => any>;
        getItemClassName: PropTypes.Requireable<(...args: any[]) => any>;
        getItemStyles: PropTypes.Requireable<(...args: any[]) => any>;
        alwaysTogglable: PropTypes.Requireable<boolean>;
        alwaysExpanded: PropTypes.Requireable<boolean>;
        hideSingleSectionTitle: PropTypes.Requireable<boolean>;
        showSpinner: PropTypes.Requireable<(...args: any[]) => any>;
        showItemArrows: PropTypes.Requireable<boolean>;
        searchable: PropTypes.Requireable<NonNullable<boolean | ((...args: any[]) => any) | null | undefined>>;
        searchProp: PropTypes.Requireable<NonNullable<string | any[] | null | undefined>>;
        searchCaseInsensitive: PropTypes.Requireable<boolean>;
        searchFuzzy: PropTypes.Requireable<boolean>;
        searchPlaceholder: PropTypes.Requireable<string>;
        searchInputProps: PropTypes.Requireable<object>;
        hideEmptySectionsInSearch: PropTypes.Requireable<boolean>;
        hasInitialFocus: PropTypes.Requireable<boolean>;
        itemTestId: PropTypes.Requireable<string>;
        "data-testid": PropTypes.Requireable<string>;
        withBorders: PropTypes.Requireable<boolean>;
    };
    static defaultProps: {
        style: {};
        width: number;
        globalSearch: boolean;
        searchable: (section: any) => any;
        searchProp: string;
        searchCaseInsensitive: boolean;
        searchFuzzy: boolean;
        alwaysTogglable: boolean;
        alwaysExpanded: boolean;
        hideSingleSectionTitle: boolean;
        hideEmptySectionsInSearch: boolean;
        role: string;
        renderSectionIcon: (section: any) => any;
        itemIsClickable: (item: any) => boolean;
        itemIsSelected: (item: any) => boolean;
        renderItemName: (item: any) => any;
        renderItemDescription: (item: any) => any;
        renderItemExtra: (item: any) => null;
        renderItemIcon: (item: any) => any;
        getItemClassName: (item: any) => any;
        getItemStyles: (item: any) => void;
        hasInitialFocus: boolean;
        showSpinner: (_item: any) => boolean;
    };
    constructor(props: any, context: any);
    state: {
        openSection: any;
        searchText: string;
        cursor: null;
        scrollToAlignment: string;
    };
    _cache: CellMeasurerCache;
    componentDidMount(): void;
    container: Element | Text | null | undefined;
    componentDidUpdate(prevProps: any, prevState: any): void;
    componentWillUnmount(): void;
    _forceUpdateTimeout: any;
    _clearRowHeightCache(): void;
    _forceUpdateList(): void;
    toggleSection: (sectionIndex: any) => void;
    getOpenSection(): any;
    sectionIsSelected(_section: any, sectionIndex: any): boolean;
    handleChange: (item: any) => void;
    handleChangeSearchText: (searchText: any) => void;
    searchPredicate: (item: any, searchPropMember: any) => boolean;
    checkSectionHasItemsMatchingSearch: (section: any, searchFilter: any) => boolean;
    getFirstSelectedItemCursor: () => {
        sectionIndex: number;
        itemIndex: number;
    } | null;
    getInitialCursor: () => {
        sectionIndex: number;
        itemIndex: number;
    } | null;
    handleKeyDown: (event: any) => void;
    searchFilter: (item: any) => boolean | undefined;
    getRowsCached: (searchFilter: any, searchable: any, sections: any, alwaysTogglable: any, alwaysExpanded: any, hideSingleSectionTitle: any, itemIsSelected: any, hideEmptySectionsInSearch: any, openSection: any, _globalSearch: any, searchText: any) => ({
        type: string;
        section: any;
        sectionIndex: any;
        isLastSection: boolean;
        item?: undefined;
        itemIndex?: undefined;
        isLastItem?: undefined;
    } | {
        type: string;
        section: any;
        sectionIndex: any;
        isLastSection: boolean;
        item: any;
        itemIndex: any;
        isLastItem: boolean;
    })[];
    _initialSelectedRowIndex: number | undefined;
    getRows(): ({
        type: string;
        section: any;
        sectionIndex: any;
        isLastSection: boolean;
        item?: undefined;
        itemIndex?: undefined;
        isLastItem?: undefined;
    } | {
        type: string;
        section: any;
        sectionIndex: any;
        isLastSection: boolean;
        item: any;
        itemIndex: any;
        isLastItem: boolean;
    })[];
    isVirtualized: () => boolean;
    canToggleSections: () => any;
    isRowSelected: (row: any) => boolean;
    isSectionExpanded: (sectionIndex: any) => any;
    canSelectSection: (sectionIndex: any) => boolean;
    handleSearchRemoval: () => void;
    render(): import("react/jsx-runtime").JSX.Element;
    _list: List | null | undefined;
    _startIndex: number | undefined;
    _stopIndex: number | undefined;
}
import { Component } from "react";
import { CellMeasurerCache } from "react-virtualized";
import { List } from "react-virtualized";
import PropTypes from "prop-types";
