import type { HTMLAttributes } from 'vue';
import { type OUIAProps } from '../helpers/ouia';
export type IconSize = 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'headingSm' | 'headingMd' | 'headingLg' | 'headingXl' | 'heading_2xl' | 'heading_3xl' | 'bodySm' | 'bodyDefault' | 'bodyLg';
interface Props extends OUIAProps, /* @vue-ignore */ HTMLAttributes {
/** Size of the icon component container and icon. */
size?: IconSize;
/** Size of icon. Overrides the icon size set by the size property. */
iconSize?: IconSize;
/** Size of progress icon. Overrides the icon size set by the size property. */
progressIconSize?: IconSize;
/** Status color of the icon */
status?: 'custom' | 'info' | 'success' | 'warning' | 'danger';
/** Indicates the icon is inline and should inherit the text font size and color. Overriden by size and iconSize properties. */
inline?: boolean;
/** Indicates the icon is in progress. Setting this property to true will swap the icon with the progressIcon. */
inProgress?: boolean;
/** Aria-label for the default progress icon. Defaults to the `iconProgress` message. */
defaultProgressArialabel?: string;
/** @beta Flag indicating whether the icon passed as children should be mirrored for
* right to left (RTL) languages. This will not mirror the icon passed to progressIcon.
*/
shouldMirrorRTL?: boolean;
}
declare const _default: typeof __VLS_export;
export default _default;
declare const __VLS_export: __VLS_WithSlots & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
default?: (props?: Record) => any;
/** Icon shown when in progress. Defaults to a 1em spinner. */
'progress-icon'?: (props?: Record) => any;
}>;
type __VLS_WithSlots = T & {
new (): {
$slots: S;
};
};
//# sourceMappingURL=Icon.vue.d.ts.map