import { default as React } from 'react';
import { HNDesignsystemLinkList } from '../../resources/Resources';
import { PaletteNames } from '../../theme/palette';
import { ElementHeaderType } from '../ElementHeader/ElementHeader';
import { ListEditModeItemProps } from '../ListEditMode';
export type LinkListSize = 'small' | 'medium' | 'large';
export type LinkListStatus = 'none' | 'new';
export type LinkAnchorTargets = '_self' | '_blank' | '_parent';
export type LinkListColors = Extract<PaletteNames, 'white' | 'blueberry' | 'cherry' | 'neutral'>;
export type LinkListVariant = 'line' | 'outline' | 'fill' | 'fill-negative';
export interface LinkType extends React.FC<LinkProps> {
    ElementHeader?: ElementHeaderType;
}
export type LinkTags = 'button' | 'a';
export interface CompoundComponent extends React.FC<LinkListProps> {
    Link: LinkType;
}
export interface LinkListProps {
    /** Items in the LinkList */
    children: React.ReactNode;
    /** Adds custom classes to the element. */
    className?: string;
    /**  Changes the colors of the list. */
    color?: LinkListColors;
    /** Toggles chevron icon on or off. */
    chevron?: boolean;
    /** Changes size of the LinkList. */
    size?: LinkListSize;
    /** Sets the data-testid attribute. */
    testId?: string;
    /** Sets visual priority */
    variant?: LinkListVariant;
    /** Highlights text. Used for search results */
    highlightText?: string;
    /**
     * @experimental This prop is experimental and may change in the future.
     * Enables ListEditMode
     */
    editMode?: boolean;
    /** Resources for component */
    resources?: Partial<HNDesignsystemLinkList>;
    /** Ref passed to the ul element */
    ref?: React.Ref<HTMLUListElement | null>;
}
type Modify<T, R> = Omit<T, keyof R> & R;
export type LinkProps = Modify<React.HTMLAttributes<HTMLAnchorElement | HTMLButtonElement>, {
    children: React.ReactNode;
    /** @private Turns chevron icon on/off. Overwritten by LinkList so not possible to set on LinkList.Link */
    chevron?: boolean;
    className?: string;
    icon?: React.ReactElement;
    /** Renders the image in the LinkList header */
    image?: React.ReactElement;
    /** Displays a status on the left side: default none */
    status?: LinkListStatus;
    href?: string;
    target?: LinkAnchorTargets;
    /** HTML markup for link. Default: a */
    htmlMarkup?: LinkTags;
    /** Ref for lenke/knapp */
    linkRef?: React.RefObject<HTMLButtonElement | HTMLAnchorElement | null>;
    /** Sets the data-testid attribute. */
    testId?: string;
    /** Highlights text. Override if different from list */
    highlightText?: string;
    /** Resources for component */
    resources?: Partial<HNDesignsystemLinkList>;
    /** @experimental id for content (only used in edit mode for aria-describedby) */
    contentId?: string;
    /** Ref passed to the list item element */
    ref?: React.Ref<HTMLLIElement | null>;
    /** Replaces the chevron with an arrow up right which is used for indicating external links */
    external?: boolean;
}> & Pick<LinkListProps, 'color' | 'size' | 'variant'> & ListEditModeItemProps;
export declare const Link: LinkType;
export declare const LinkList: CompoundComponent;
export default LinkList;
