/*!
 * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.
 * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
 *
 * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *
 * See the License for the specific language governing permissions and limitations under the License.
 */
import type { ReactNode } from "react";
import { UniqueIdentifier } from "@dnd-kit/core";
export interface BaseItem {
    id: UniqueIdentifier;
    isDisabled: boolean | undefined;
    isSelected: boolean | undefined;
    isSortable: boolean | undefined;
    navItem: ReactNode;
}
interface ListProps<T extends BaseItem> {
    items: T[];
    onChange: (parentId: string, activeId: UniqueIdentifier, activeIndex: number, overIndex: number) => void;
    parentId: string;
    renderItem: (item: T) => ReactNode;
}
export declare const SortableList: {
    <T extends BaseItem>({ parentId, items, onChange, renderItem, }: ListProps<T>): import("@emotion/react/jsx-runtime").JSX.Element;
    Item: ({ id, isDisabled, isSelected, isSortable, children, }: import("react").PropsWithChildren<{
        id: UniqueIdentifier;
        isDisabled?: boolean;
        isSelected?: boolean;
        isSortable?: boolean;
    }>) => import("@emotion/react/jsx-runtime").JSX.Element;
};
export {};
//# sourceMappingURL=SortableList.d.ts.map