import { IconProps } from '../../Icon';
/**
 * AI icon names for `Button` `aiMark`. `"mark"` (or boolean `true`) uses the animated AI mark;
 * other values use static AI icons.
 */
export type AiIconName = "chat" | "edit" | "form" | "mark" | "mic" | "search";
export declare const AI_ICON_MAP: Record<Exclude<AiIconName, "mark">, IconProps["svg"]>;
export type ButtonAiMarkSize = "xsmall" | "small" | "medium" | "large";
/**
 * Icon-only AI icon container size (px). Medium/large match custom icon-only parity.
 */
export declare const ICON_ONLY_AI_SIZE_PX: Record<ButtonAiMarkSize, number>;
export declare function iconHasLeadingSlot(icon: IconProps["svg"] | {
    before: IconProps["svg"];
} | {
    after: IconProps["svg"];
} | undefined): boolean;
export declare function aiMarkShowsAnimatedMark(aiMark?: boolean | AiIconName): boolean;
