export type EventTypes = keyof HTMLElementEventMap

// 监听函数的类型
export interface ListenerEventTarget {
    (this: HTMLElement, ev: HTMLElementEventMap[EventTypes]):any
}

// 运行时参数系列
export interface Config {
    scrollUnique?: string
}

// 滚动参数配置文档
export interface ScrollConfig {
    // x轴
    x:ScrollXConfig,
    // y轴
    y:ScrollYConfig,
    // 锁
    look:boolean,
    // 具柄
    stipitate:number | undefined
}

// 滚动X轴的配置
export interface ScrollXConfig {
    // 当前实际滚动宽度
    actualWidth:number,
    // 当前x轴的滚动距离
    x:number,
    // 最大滚动x
    maxScroll:number,
    // 容器的宽度
    width:number
}
// 滚动Y轴的配置
export interface ScrollYConfig {
    // 当前实际滚动高度
    actualHeight:number,
    // 最大滚动y
    maxScroll:number,
    // 当前y轴的滚动距离
    y:number,
    // 容器的高度
    height:number
}