import { TCdsIconsName } from '@central-design-system/icons';
import { TStatus } from '../../../composable';
import { PropType, ComputedRef } from 'vue';
export type TNotificationLocale = {
    closeLabel?: string;
};
export interface INotificationProps {
    closable?: boolean;
    customIcon?: TCdsIconsName;
    closeLabel?: string;
    closeIcon?: TCdsIconsName;
    status: TStatus;
    icon?: TCdsIconsName | false;
}
export interface IUseNotification {
    icon: ComputedRef<TCdsIconsName | undefined>;
}
export declare const makeNotificationProps: <Defaults extends {
    icon?: unknown;
    customIcon?: unknown;
    closable?: unknown;
    closeLabel?: unknown;
    closeIcon?: unknown;
} = {}>(defaults?: Defaults | undefined) => import('../../../utils').AppendDefault<{
    /**
     * Иконка
     */
    icon: {
        type: PropType<false | TCdsIconsName>;
        default: null;
    };
    /**
     * Своя иконка
     */
    customIcon: {
        type: PropType<TCdsIconsName | undefined>;
        default: undefined;
        validator: (value?: TCdsIconsName) => boolean;
    };
    /**
     * Кнопка закрытия
     */
    closable: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * Лейбл кнопки закрытия
     */
    closeLabel: {
        type: PropType<string>;
        default: string;
    };
    /**
     * Иконка кнопки закрытия
     */
    closeIcon: {
        type: PropType<TCdsIconsName>;
        default: string;
        validator: (value: TCdsIconsName) => boolean;
    };
}, Defaults>;
export declare function useNotification(props: INotificationProps): IUseNotification;
