import { default as CSS } from 'csstype'; import { Live2DModel } from 'pixi-live2d-display'; import { HitAreaFrames } from 'pixi-live2d-display/extra'; import { Application } from 'pixi.js'; import { CommonStyleType, Item } from './common.js'; import { MenusOptions, ModelOptions, Options, StatusBarOptions, TipsOptions } from './options/index.js'; import { DeepRequired } from './utils.js'; import { DEFAULT_OPTIONS } from '../config/config.js'; export * from './options/index.js'; export * from './utils.js'; export type HitAreaFramesType = typeof HitAreaFrames; export type ImportType = 'complete' | 'cubism2' | 'cubism5'; export type PixiLive2dDisplayModule = typeof import('pixi-live2d-display') & { HitAreaFrames: HitAreaFramesType; }; export type PixiModule = typeof import('pixi.js'); export type ApplicationType = typeof Application; export type CSSProperties = CSS.Properties; export type DefaultOptions = Omit, 'parentElement' | 'stageStyle' | 'models' | 'tips' | 'statusBar' | 'menus'> & { parentElement: HTMLElement; tips: DefaultTipsOptions; statusBar: DefaultStatusBarOptions; menus: DefaultMenusOptions; stageStyle?: CommonStyleType; models: ModelOptions[]; }; export type DefaultTipsOptions = Omit, 'style' | 'mobileStyle'> & { style?: CommonStyleType; mobileStyle?: CommonStyleType; }; export type DefaultStatusBarOptions = Omit, 'style' | 'mobileStyle'> & { style?: CommonStyleType; mobileStyle?: CommonStyleType; }; export type DefaultMenusOptions = Omit, 'style' | 'itemStyle' | 'mobileStyle' | 'mobileItemStyle' | 'items'> & { items: Item[]; style?: CommonStyleType; itemStyle?: CommonStyleType; mobileStyle?: CommonStyleType; mobileItemStyle?: CommonStyleType; }; export type Live2DModelType = typeof Live2DModel; export type HitAreaFramesModule = typeof HitAreaFrames; export type LibraryUrls = { /** * 自定义 Cubism2 SDK 地址 * @default oh-my-live2d提供的默认地址 */ cubism2?: string; /** * 自定义 Cubism5 SDK 地址 * @default oh-my-live2d提供的默认地址 */ cubism5?: string; complete?: string; }; export interface ElementConfig { id: string; className?: string; dataName?: string; tagName: string; children?: ElementConfig[]; innerHtml?: string; innerText?: string; } export type WelcomeTipesType = typeof DEFAULT_OPTIONS.tips.welcomeTips;