import type { Component, VNodeChild } from "vue"; import type { XySemanticClassNames, XySemanticStyles } from "../core"; import type { XyMessageApi, XyMessageGlobalConfig } from "../message"; import type { XyNotificationApi, XyNotificationGlobalConfig } from "../notification"; export type XyAppSemanticDom = "root"; export interface XyAppSemanticProps { messageCount: number; notificationCount: number; } export type XyAppClassNames = XySemanticClassNames; export type XyAppStyles = XySemanticStyles; export type XyAppMessageConfig = Omit; export type XyAppNotificationConfig = Omit; export type XyAppMessageApi = Omit; export type XyAppNotificationApi = Omit; export interface XyAppProps { classNames?: XyAppClassNames; component?: Component | string; message?: XyAppMessageConfig; notification?: XyAppNotificationConfig; styles?: XyAppStyles; } export interface XyAppSlots { default?: () => VNodeChild; } export interface XyAppContext { message: XyAppMessageApi; notification: XyAppNotificationApi; }