export declare type Data = Record<string, any>;
export declare type ThisTask<This> = (this: This) => void;
export declare type ThisListener<This> = (this: This, event: CustomEventInterface, data?: Data) => false | void;
export declare type Listener = (event: CustomEventInterface, data?: Data) => false | void;
export declare type NativeListener = (event: CustomEventInterface | Event) => false | void;
export declare type ValueHolder = {
    keypath?: string;
    value: any;
};
export declare type Task = {
    fn: Function;
    ctx?: any;
};
export interface CustomEventInterface {
    type: string;
    phase: number;
    ns?: string;
    target?: any;
    originalEvent?: CustomEventInterface | Event;
    isPrevented?: true;
    isStoped?: true;
    listener?: Function;
    /**
     * 阻止事件的默认行为
     */
    preventDefault(): this;
    /**
     * 停止事件广播
     */
    stopPropagation(): this;
    prevent(): this;
    stop(): this;
}
export interface OS {
    /**
     * os 平台
     */
    name: string;
    /**
     * os 版本号
     */
    version: string;
    /**
     * 是否是 ios 系统
     */
    ios?: boolean;
    /**
     * 系统判断
     */
    iphone?: boolean;
    ipad?: boolean;
    itouch?: boolean;
    android?: boolean;
    wp?: boolean;
    windows?: boolean;
    linux?: boolean;
    mac?: boolean;
}
export interface Browser {
    /**
     * browser 平台
     */
    name: string;
    /**
     * browser 版本号
     */
    version: string;
    /**
     * 浏览器判断
     */
    alipay?: boolean;
    wechat?: boolean;
    baiduApp?: boolean;
    baidu?: boolean;
    uc?: boolean;
    qq?: boolean;
    qqApp?: boolean;
    ie?: boolean;
    edge?: boolean;
    chrome?: boolean;
    firefox?: boolean;
    opera?: boolean;
    safari?: boolean;
}
export interface Network {
    /**
     * 网络类型
     */
    name: string;
}
