import { PopoverContentProps, PopoverDialogRoleProps } from '../internal/components/Popover';
import { TooltipProps } from '../components';
/**
 * Minimal props for showing an AI mark as a boolean flag (for example on `Chip`).
 * For the standalone icon component, use `AiMarkProps` on `AiMark` instead.
 */
export type AiMarkBooleanProps = {
    /**
     * When `true`, displays the AI indicator icon with no additional context.
     */
    aiMark?: boolean;
};
/**
 * Configuration for an AI mark that opens a tooltip or popover for additional context.
 * Discriminated union: set `type` to `"tooltip"` or `"popover"` to select the corresponding configuration shape.
 */
export type AiMarkWithTooltipOrPopoverConfig = {
    /** Discriminant for the popover variant. */
    type: "popover";
    /**
     * The content displayed inside the popover. When omitted, defaults to the standard AI disclaimer message and a Learn more link to the privacy policy.
     */
    content?: React.ReactNode;
    /**
     * Additional props passed to the underlying `Popover` component.
     */
    props?: Omit<PopoverDialogRoleProps, "children">;
    /**
     * Accessible label for the trigger button that opens the popover.
     */
    triggerLabel: string;
    /**
     * Additional props passed to the popover content container.
     */
    contentProps?: Pick<PopoverContentProps, "hideWhileClosed" | "scrollerRef">;
} | {
    /** Discriminant for the tooltip variant. */
    type: "tooltip";
    /**
     * The text content displayed inside the tooltip. When omitted, defaults to "AI can make mistakes."
     */
    content?: string;
    /**
     * Additional props passed to the underlying `Tooltip` component.
     */
    props?: Omit<TooltipProps, "children">;
    /**
     * Accessible label for the trigger button that opens the tooltip.
     */
    triggerLabel: string;
};
/**
 * Props that include an optional AI mark on a label or field.
 */
export type AiMarkWithTooltipOrPopoverProps = {
    /**
     * Accepts either a `boolean` or an `AiMarkWithTooltipOrPopoverConfig` object.
     * - `true` — Displays the AI indicator icon with no additional context.
     * - `AiMarkWithTooltipOrPopoverConfig` — Displays the AI indicator icon with a tooltip or popover for additional context.
     */
    aiMark?: boolean | AiMarkWithTooltipOrPopoverConfig;
};
/**
 * Controls which axes have their padding collapsed so the component's layout
 * footprint matches a plain inline icon on those axes. For interactive variants,
 * the ghost button's hit area is unchanged; for non-interactive variants, padding
 * is added to the non-collapsed axes.
 * - `"inline"` — collapse the inline axis (left/right)
 * - `"block"` — collapse the block axis (top/bottom)
 * - `"all"` — collapse both axes
 */
export type AiMarkCollapsePadding = "inline" | "block" | "all";
