/*!
 * 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 { SideNavItem } from "./types.js";
import { type DesignTokens } from "../../OdysseyDesignTokensContext.js";
import { UiShellColors } from "../../ui-shell/UiShellProvider.js";
import { SideNavItemContentContextValue } from "./SideNavItemContentContext.js";
export declare const StyledSideNavListItem: import("@emotion/styled").StyledComponent<{
    theme?: import("@emotion/react").Theme;
    as?: React.ElementType;
} & {
    disabled?: boolean;
    isSelected?: boolean;
    itemSelectedBackgroundColor?: string;
    odysseyDesignTokens: DesignTokens;
    sideNavContrastColors?: UiShellColors["sideNavContrastColors"];
}, import("react").DetailedHTMLProps<import("react").LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, {}>;
type ScrollIntoViewHandle = {
    scrollIntoView: () => void;
};
export declare const getBaseNavItemContentStyles: ({ isDisabled, isSelected, odysseyDesignTokens, sideNavContrastColors, isActiveDropTarget, }: {
    isActiveDropTarget: boolean;
    isDisabled?: boolean;
    isSelected?: boolean;
    odysseyDesignTokens: DesignTokens;
    sideNavContrastColors: UiShellColors["sideNavContrastColors"];
}) => {
    "&:focus-visible": {
        outline: string;
        boxShadow: string;
    };
    color: string;
    cursor: string;
    fontWeight?: string | undefined;
    "&:hover, li:has(> button:hover, > button:focus, > button:focus-visible) &": {
        backgroundColor: string;
        color?: string | undefined;
        textDecoration: string;
    };
    backgroundColor?: string | undefined;
    display: string;
    alignItems: string;
    width: string;
    textDecoration: string;
    minHeight: string;
    paddingBlock: string;
    paddingInlineEnd: string;
    borderRadius: string;
    transition: string;
};
export declare const getNavItemContentStyles: ({ odysseyDesignTokens, contextValue, paddingInlineStart, }: {
    contextValue: SideNavItemContentContextValue;
    odysseyDesignTokens: DesignTokens;
    paddingInlineStart?: string;
}) => {
    paddingBlock?: string | undefined;
    paddingInlineStart: string;
};
declare const MemoizedSideNavItemContent: import("react").MemoExoticComponent<({ count, id, label, href, target, startIcon, severity, statusLabel, endIcon, onClick, isDisabled, isSelected, scrollRef, onItemSelected, translate, }: Pick<SideNavItem, "count" | "id" | "label" | "href" | "target" | "startIcon" | "severity" | "statusLabel" | "endIcon" | "onClick" | "isDisabled" | "isSelected" | "translate"> & {
    onItemSelected?: (selectedItemId: string) => void;
    /**
     * The ref used to scroll to this item
     */
    scrollRef?: React.RefObject<ScrollIntoViewHandle>;
}) => import("@emotion/react/jsx-runtime").JSX.Element>;
export { MemoizedSideNavItemContent as SideNavItemContent };
//# sourceMappingURL=SideNavItemContent.d.ts.map