import { default as React } from 'react';
import { ActionProps } from '../../../libraries/action/src/action';
import { BaseProps } from '../../../libraries/common-types/src/common-types';
export declare const ctaLinkIcons: readonly ["forward", "external", "back", "phone"];
export type CtaLinkIcon = (typeof ctaLinkIcons)[number];
type CtaLinkBaseProps = {
    icon?: CtaLinkIcon;
    showIcon?: boolean;
};
export type CtaAnchorProps = ActionProps & Omit<BaseProps<"a">, "href"> & {
    href: string;
};
type SpanProps = ActionProps & BaseProps<"span">;
export type CtaLinkProps = CtaLinkBaseProps & (CtaAnchorProps | SpanProps);
export declare const CtaLink: React.ForwardRefExoticComponent<(Omit<CtaLinkBaseProps & {
    "data-testid"?: string;
    children?: React.ReactNode;
    className?: string;
    fullWidth?: boolean;
    negative?: boolean;
    size?: import('../../../libraries/action/src/action').Size;
    variant: import('../../../libraries/action/src/action').Variant;
} & {
    iconOnly: boolean;
    "aria-label": string;
} & Partial<Record<never, never>> & Omit<React.ClassAttributes<HTMLAnchorElement> & React.AnchorHTMLAttributes<HTMLAnchorElement> & {
    [key: `data-${string}`]: string | undefined;
}, "href"> & {
    href: string;
}, "ref"> | Omit<CtaLinkBaseProps & {
    "data-testid"?: string;
    children?: React.ReactNode;
    className?: string;
    fullWidth?: boolean;
    negative?: boolean;
    size?: import('../../../libraries/action/src/action').Size;
    variant: import('../../../libraries/action/src/action').Variant;
} & {
    "aria-label"?: string;
} & Partial<Record<"iconOnly", never>> & Omit<React.ClassAttributes<HTMLAnchorElement> & React.AnchorHTMLAttributes<HTMLAnchorElement> & {
    [key: `data-${string}`]: string | undefined;
}, "href"> & {
    href: string;
}, "ref"> | Omit<CtaLinkBaseProps & {
    "data-testid"?: string;
    children?: React.ReactNode;
    className?: string;
    fullWidth?: boolean;
    negative?: boolean;
    size?: import('../../../libraries/action/src/action').Size;
    variant: import('../../../libraries/action/src/action').Variant;
} & {
    iconOnly: boolean;
    "aria-label": string;
} & Partial<Record<never, never>> & React.ClassAttributes<HTMLSpanElement> & React.HTMLAttributes<HTMLSpanElement> & {
    [key: `data-${string}`]: string | undefined;
}, "ref"> | Omit<CtaLinkBaseProps & {
    "data-testid"?: string;
    children?: React.ReactNode;
    className?: string;
    fullWidth?: boolean;
    negative?: boolean;
    size?: import('../../../libraries/action/src/action').Size;
    variant: import('../../../libraries/action/src/action').Variant;
} & {
    "aria-label"?: string;
} & Partial<Record<"iconOnly", never>> & React.ClassAttributes<HTMLSpanElement> & React.HTMLAttributes<HTMLSpanElement> & {
    [key: `data-${string}`]: string | undefined;
}, "ref">) & React.RefAttributes<HTMLAnchorElement | HTMLSpanElement>>;
export {};
//# sourceMappingURL=cta-link.d.ts.map