import { EventArg } from '../../../event/EventArg';
import { Billboard } from '../../../gui/Billboard';
import { Entity } from '../../Entity';
import { Component } from '../Component';
import { ArchiveCabinet } from './ArchiveCabinet';
import { ArchiveCabinetGroupCount } from './ArchiveCabinetGroupCount';
import { ArchiveCabinetGroupState } from './ArchiveCabinetGroupState';
import { ArchiveDoor } from './ArchiveDoor';
import { ArchiveGrid } from './ArchiveGrid';
/**
 * 密集架组（库区）
 */
export declare class ArchiveCabinetGroup extends Component {
    /**
     * 获取或设置数据
     */
    data: any;
    private _cacheColumnPosition;
    private _isAlarm;
    /**
     * 密集架当前的状态
     */
    _state: ArchiveCabinetGroupState;
    /**
     * 选中的列
     */
    _selected: ArchiveCabinet;
    /**
     * 密集架（列）列表
     */
    readonly cabinets: ArchiveCabinet[];
    /**
     * 密集架门列表
     */
    readonly doors: ArchiveDoor[];
    /**
     * 告警图标
     */
    alarmIcon: Billboard;
    /**
     * 鼠标移动事件
     */
    onMouseMove: (group: ArchiveCabinetGroup, ev: EventArg) => void;
    /**
     * 组右键菜单事件
     */
    onGroupRightMenu: (group: ArchiveCabinetGroup, left: number, top: number) => void;
    /**
     * 进入组事件
     */
    onEnterGroup: (group: ArchiveCabinetGroup) => void;
    /**
     * 退出组事件
     */
    onExitGroup: (group: ArchiveCabinetGroup) => void;
    /**
     * 进入列
     */
    onEnterCabinet: (cabinet: ArchiveCabinet) => void;
    /**
     * 离开列
     */
    onExitCabinet: (cabinet: ArchiveCabinet) => void;
    /**
     * 列右键菜单事件
     */
    onCabinetRightMenu: (cabinet: ArchiveCabinet, left: number, top: number) => void;
    /**
     * 组告警变化事件
     */
    onAlarmChanged: (group: ArchiveCabinetGroup) => void;
    /**
     * 层位右键菜单事件
     */
    onGridRightMenu: (grid: ArchiveGrid, left: number, top: number) => void;
    /**
     * 实例化一个密集架组对象
     * @param entity 实体（组）
     */
    constructor(entity: Entity);
    /**
     * 获取起始列号
     */
    get startIndex(): number;
    /**
     * 获取已排序的密集架列表（列号从小到大排序）
     */
    get sortedCabinets(): ArchiveCabinet[];
    /**
     * 获取排序标识，true=从左往右，false=从右往左
     */
    get sortFlag(): boolean;
    /**
     * 实体ID
     */
    get entityId(): string;
    /**
     * 获取密集架ID
     */
    get deviceId(): string;
    /**
     * 获取或设置是否告警
     */
    get isAlarm(): boolean;
    set isAlarm(value: boolean);
    private _positionTween;
    /**
     * 获取或设置列位置
     */
    get columnPosition(): number[];
    set columnPosition(value: number[]);
    updateJTColumnPosition(value: number[]): void;
    /**
     * 固定列
     */
    get fixedColumn(): ArchiveCabinet;
    /**
     * 设置固定列标识
     */
    setFixedTag(): void;
    /**
     * 移除固定列标识
     */
    removeFixedTag(): void;
    /**
     * 在相机中居中显示
     */
    centerOn(): void;
    /**
     * 显示容量模式
     * @param data 容量数据
     */
    showCapacity(data: ArchiveCabinetGroupCount): void;
    /**
     * 隐藏容量
     */
    hideCapacity(): void;
    /**
     * 隐藏
     */
    hide(): void;
    /**
     * 显示
     */
    show(): void;
    /**
     * 手动触发进入组
     */
    triggerEnterGroup(): void;
    /**
     * 手动触发进入列
     * @param cabinet 列
     */
    triggerEnterCabinet(cabinet: ArchiveCabinet): void;
    /**
     * 手动离开组
     */
    triggerExistGroup(): void;
    /**
     * 手动触发离开列
     */
    triggerExistCabinet(): void;
    /**
     * 更新包围盒
     */
    private _updateBoundingBox;
}
