import { type ReactNode } from 'react';
import type { GDSComponentProps } from '@graphprotocol/gds-css';
import { type MaybeButtonOrLinkProps } from './base/MaybeButtonOrLink.tsx';
import { CardMeta } from './Card.meta.ts';
export declare namespace CardProps {
    interface BaseButtonOrLinkProps {
        /**
         * Allows the card to contain interactive elements (e.g. buttons, links, etc.) while being
         * clickable on its own. When set to `true`, `children` is rendered as a sibling of the
         * `MaybeButtonOrLink` component, rather than as its children. When set to a `ReactNode`,
         * `children` is rendered in its normal place (so it shouldn't contain interactive elements),
         * and the `interactiveContent` is rendered as a sibling, absolutely-positioned on top of the
         * card's content.
         *
         * @default false
         */
        interactiveContent?: boolean | Exclude<ReactNode, boolean> | undefined;
        /**
         * Whether to render an `ArrowUpRight` icon in the top right corner of the card if `href` is set
         * and `target` is `_blank`.
         *
         * @default true
         */
        autoIcon?: boolean | undefined;
    }
    interface ButtonProps extends GDSComponentProps<typeof CardMeta>, BaseButtonOrLinkProps, MaybeButtonOrLinkProps.ButtonProps, MaybeButtonOrLinkProps.DisableableProps {
    }
    interface LinkProps extends GDSComponentProps<typeof CardMeta>, BaseButtonOrLinkProps, MaybeButtonOrLinkProps.LinkProps, MaybeButtonOrLinkProps.DisableableProps {
    }
    interface OtherElementProps extends GDSComponentProps<typeof CardMeta>, MaybeButtonOrLinkProps.OtherElementProps {
    }
}
export type CardProps = CardProps.ButtonProps | CardProps.LinkProps | CardProps.OtherElementProps;
export declare function Card({ ref: passedRef, as, variant, disabled, className, style, children, ...props }: CardProps): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=Card.d.ts.map