import { PropType } from 'vue';
import { TCdsIconsName } from '@central-design-system/icons';
export declare const componentName = "CdsIcon";
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    theme: {
        type: PropType<import('../../composable').TTheme | string>;
        available: readonly ["cdsLight", "cdsDark", "b2bLight", "b2bDark", "promoLight", "promoDark"];
        default: undefined;
    };
    invertColor: {
        type: PropType<boolean>;
        default: boolean;
    };
    size: {
        type: PropType<import('../../composable').TSize>;
        default: string;
        available: readonly ["xs", "sm", "md", "lg", "xl"];
        validator: (value: import('../../composable').TSize) => boolean;
    };
    name: {
        /**
         * Название иконки
         */
        type: PropType<TCdsIconsName>;
        default: undefined;
        validator: (value: TCdsIconsName) => boolean;
    };
}>, {
    iconComponent: import('vue').ComputedRef<string>;
    sizeClasses: import('vue').ComputedRef<string>;
    themeClasses: Readonly<import('vue').ComputedRef<string | undefined>>;
    invertColorClasses: import('vue').ComputedRef<string | undefined>;
} | {
    sizeClasses: import('vue').ComputedRef<string>;
    themeClasses: Readonly<import('vue').ComputedRef<string | undefined>>;
    invertColorClasses: import('vue').ComputedRef<string | undefined>;
    iconComponent?: undefined;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, never[], never, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    theme: {
        type: PropType<import('../../composable').TTheme | string>;
        available: readonly ["cdsLight", "cdsDark", "b2bLight", "b2bDark", "promoLight", "promoDark"];
        default: undefined;
    };
    invertColor: {
        type: PropType<boolean>;
        default: boolean;
    };
    size: {
        type: PropType<import('../../composable').TSize>;
        default: string;
        available: readonly ["xs", "sm", "md", "lg", "xl"];
        validator: (value: import('../../composable').TSize) => boolean;
    };
    name: {
        /**
         * Название иконки
         */
        type: PropType<TCdsIconsName>;
        default: undefined;
        validator: (value: TCdsIconsName) => boolean;
    };
}>> & Readonly<{}>, {
    name: "link" | "search" | "bold" | "delete" | "add" | "administrator" | "ai" | "alert-fill" | "alert" | "analog" | "arrow-down" | "arrow-left-bottom" | "arrow-left-top" | "arrow-left" | "arrow-right-bottom" | "arrow-right-top" | "arrow-right" | "arrow-up" | "arrows-vertical" | "bookmark-fill" | "bookmark" | "calendar" | "card-bank" | "category" | "check-fill" | "check" | "checkbox-fill" | "checkbox" | "chevron-down" | "chevron-left" | "chevron-right" | "chevron-up" | "chocholate-menu" | "chocolate-menu" | "clock-fill" | "clock" | "collapse" | "comment" | "company" | "compare" | "copy" | "data-cards" | "directory-open" | "directory" | "doc-download" | "doc" | "download" | "draggable" | "edit" | "education" | "enter" | "error-fill" | "error" | "expand" | "external" | "facebook-fill" | "facebook" | "fill" | "filters" | "flag" | "format" | "formula" | "funnel" | "globe" | "highlight" | "infinity" | "info-fill" | "info" | "insert" | "italic" | "list-search" | "list" | "loader" | "location" | "locked" | "login" | "logout" | "menu" | "minus" | "notification" | "overflow-menu-horizontal" | "overflow-menu-vertical" | "password" | "pin" | "plus" | "printer" | "question-fill" | "question" | "refresh" | "remove" | "sandglass" | "save" | "scale-left" | "scale-right" | "settings" | "shopping-cart" | "sort-date" | "sorting-down" | "sorting-up" | "sorting" | "source" | "star-fill" | "star" | "tab-backward" | "tab-forward" | "telegram" | "thumb-down-fill" | "thumb-down" | "thumb-up-fill" | "thumb-up" | "timer" | "tool" | "truck" | "underline" | "unlocked-left" | "unlocked" | "upload" | "user-avatar" | "user-group" | "visibility-off" | "visibility-on" | "vk" | "whatsapp" | "winner" | "workspace" | "youtube";
    size: "xs" | "sm" | "md" | "lg" | "xl";
    invertColor: boolean;
    theme: string;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export default _default;
