import { ReactNode } from 'react';
import { ButtonOrLinkProps } from '../../atoms';
import { FontSize } from '../../tokens';
declare const CHIP_SIZES: {
    small: {
        height: 24;
        padding: 12;
        fontSize: (typeof FontSize)["12px"];
        iconSize: 12;
        badgeSize: 20;
    };
    medium: {
        height: 32;
        padding: 12;
        fontSize: (typeof FontSize)["14px"];
        iconSize: 14;
        badgeSize: 20;
    };
    large: {
        height: 40;
        padding: 16;
        fontSize: (typeof FontSize)["16px"];
        iconSize: 16;
        badgeSize: 24;
    };
    xlarge: {
        height: 64;
        padding: 20;
        fontSize: (typeof FontSize)["18px"];
        iconSize: 24;
        badgeSize: 24;
    };
};
export declare namespace ChipProps {
    interface BaseProps {
        /** Chip size. One of `small`, `medium`, `large`, or `xlarge`. Defaults to `medium`. */
        size?: keyof typeof CHIP_SIZES;
        /** Icon to render on the left side of the chip. */
        iconLeft?: ReactNode;
        /** Icon to render on the right side of the chip. */
        iconRight?: ReactNode;
        /** Icon to render in the chip. Alias of `iconLeft`, but makes more sense to use this prop for icon-only chips. */
        icon?: ReactNode;
        /** Text or number to render in a badge on the left side of the chip, or a `Badge` component itself. */
        badge?: string | number | ReactNode;
        /** The chip's label, or a render function responsible for rendering the entire contents of the element (including any icon). */
        children?: ReactNode | (() => ReactNode);
    }
    type OmittedButtonOrLinkProps = 'children';
    interface ButtonProps extends BaseProps, Omit<ButtonOrLinkProps.ButtonProps, OmittedButtonOrLinkProps> {
    }
    interface ExternalLinkProps extends BaseProps, Omit<ButtonOrLinkProps.ExternalLinkProps, OmittedButtonOrLinkProps> {
    }
    interface ClientLinkProps extends BaseProps, Omit<ButtonOrLinkProps.ClientLinkProps, OmittedButtonOrLinkProps> {
    }
}
export type ChipProps = ChipProps.ButtonProps | ChipProps.ExternalLinkProps | ChipProps.ClientLinkProps;
export declare const Chip: import('react').ForwardRefExoticComponent<ChipProps & import('react').RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
export {};
//# sourceMappingURL=Chip.d.ts.map