import type { ComponentPublicInstance, ExtractPropTypes, PropType } from 'vue'
export type NoticeBarType = 'warning' | 'info' | 'danger' | ''
export type NoticeBarScrollDirection = 'horizontal' | 'vertical'
export declare const noticeBarProps: {
  /**
   * 设置通知栏文案
   */
  text: {
    type: PropType<string | string[]>
    default: string
  }
  /**
   * 设置通知栏类型，可选值为：'warning' | 'info' | 'danger'
   */
  type: {
    type: PropType<NoticeBarType>
    default: NoticeBarType
  }
  /**
   * 是否可滚动
   */
  scrollable: {
    type: BooleanConstructor
    default: boolean
  }
  /**
   * 滚动延迟时间（秒）
   */
  delay: {
    type: NumberConstructor
    default: number
  }
  /**
   * 滚动速度（px/s）
   */
  speed: {
    type: NumberConstructor
    default: number
  }
  /**
   * 是否可关闭
   */
  closable: {
    type: BooleanConstructor
    default: boolean
  }
  /**
   * 是否换行显示
   */
  wrapable: {
    type: BooleanConstructor
    default: boolean
  }
  /**
   * 设置左侧图标，使用 icon 章节中的图标名
   */
  prefix: StringConstructor
  /**
   * 文字、图标颜色
   */
  color: StringConstructor
  /**
   * 背景颜色
   */
  backgroundColor: StringConstructor
  /**
   * 滚动方向
   */
  direction: {
    type: PropType<NoticeBarScrollDirection>
    default: NoticeBarScrollDirection
  }
  customStyle: {
    type: PropType<string>
    default: string
  }
  customClass: {
    type: PropType<string>
    default: string
  }
}
export type NoticeBarProps = ExtractPropTypes<typeof noticeBarProps>
export type NoticeBarExpose = {
  /**
   * 重置NoticeBar动画
   */
  reset: () => void
}
export type NoticeBarInstance = ComponentPublicInstance<NoticeBarProps, NoticeBarExpose>
