import type { FunctionComponent, Ref, MouseEvent, ReactNode, KeyboardEvent } from 'react';
import type { BaseProps, ForwardProps } from '../../types';
export type ListInteractionEvent = MouseEvent<HTMLElement> | KeyboardEvent<HTMLElement>;
export interface ListProps {
    /** An id representing the item. */
    id: string;
    ref?: Ref<HTMLDivElement>;
    items: (AppShellListItemProps & ForwardProps)[];
    headingText?: string;
    emptyText: string;
    loading?: boolean;
    viewAll?: {
        onClick?: (e: MouseEvent) => void;
        href?: string;
    } & ForwardProps;
    newNotifications?: number;
    displayPins?: boolean;
    onItemClick?: (id: string, event: ListInteractionEvent) => void;
    onItemPinToggle?: (id: string) => void;
}
export interface AppShellListProps {
    listView: ListProps[];
}
export interface AppShellListItemProps extends BaseProps {
    /** An id representing the item. */
    id: string;
    /** The primary text for the item. */
    primary: string;
    /** Secondary text that will be rendered as a Meta List. */
    secondary?: string[];
    /** A visual associated with the item. */
    visual?: ReactNode;
    /** A flag indicating if the item has been read. */
    unread?: boolean;
    /** Icon for displaying at the end of items */
    pinned?: boolean;
    /** URL or DOM id to navigate to. */
    href?: string;
    /** The onClick handler for the item. */
    onClick?: (id: string, event: ListInteractionEvent) => void;
    /** The handler hat is called when a pin icon is toggled on an item. */
    onPinToggle?: (id: string) => void;
}
declare const AppShellList: FunctionComponent<AppShellListProps>;
export default AppShellList;
//# sourceMappingURL=AppShellList.d.ts.map