import { PropType } from 'vue';
import { Icon } from '@wikimedia/codex-icons';
import { HTMLDirection, IconSize } from '../../types';
/**
 * A container for static SVG icon content.
 */
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    /** The SVG path or an object containing that path plus other data. */
    icon: {
        type: PropType<Icon>;
        required: true;
    };
    /**
     * Accessible label for the icon. If not included, the icon will be hidden from screen
     * readers via `aria-hidden="true"`. Browsers also display this label as a tooltip when the
     * user hovers over the icon. Note that this label is not rendered as visible text next
     * to the icon.
     */
    iconLabel: {
        type: StringConstructor;
        default: string;
    };
    /**
     * Explicitly set the language code to use for the icon. See
     * https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/lang.
     * Defaults to the lang attribute of the nearest ancestor at mount time.
     */
    lang: {
        type: PropType<string | null>;
        default: null;
    };
    /**
     * Explicitly set the direction to use for the icon. See
     * https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dir.
     * Defaults to the computed direction at mount time.
     */
    dir: {
        type: PropType<HTMLDirection | null>;
        default: null;
    };
    /**
     * Specify icon size by choosing one of several pre-defined size
     * options. See the type documentation for supported size options.
     * The `medium` size is used by default if no size prop is provided.
     */
    size: {
        type: PropType<IconSize>;
        default: string;
        validator: import("../../types").StringTypeValidator<"medium" | "small" | "x-small">;
    };
}>, {
    rootElement: import("vue").Ref<HTMLSpanElement | undefined, HTMLSpanElement | undefined>;
    rootClasses: import("vue").ComputedRef<{
        [x: string]: boolean;
        'cdx-icon--flipped': boolean;
    }>;
    iconSvg: import("vue").ComputedRef<string>;
    iconPath: import("vue").ComputedRef<string>;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    /** The SVG path or an object containing that path plus other data. */
    icon: {
        type: PropType<Icon>;
        required: true;
    };
    /**
     * Accessible label for the icon. If not included, the icon will be hidden from screen
     * readers via `aria-hidden="true"`. Browsers also display this label as a tooltip when the
     * user hovers over the icon. Note that this label is not rendered as visible text next
     * to the icon.
     */
    iconLabel: {
        type: StringConstructor;
        default: string;
    };
    /**
     * Explicitly set the language code to use for the icon. See
     * https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/lang.
     * Defaults to the lang attribute of the nearest ancestor at mount time.
     */
    lang: {
        type: PropType<string | null>;
        default: null;
    };
    /**
     * Explicitly set the direction to use for the icon. See
     * https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dir.
     * Defaults to the computed direction at mount time.
     */
    dir: {
        type: PropType<HTMLDirection | null>;
        default: null;
    };
    /**
     * Specify icon size by choosing one of several pre-defined size
     * options. See the type documentation for supported size options.
     * The `medium` size is used by default if no size prop is provided.
     */
    size: {
        type: PropType<IconSize>;
        default: string;
        validator: import("../../types").StringTypeValidator<"medium" | "small" | "x-small">;
    };
}>> & Readonly<{}>, {
    lang: string | null;
    iconLabel: string;
    dir: HTMLDirection | null;
    size: "medium" | "small" | "x-small";
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
