import { ComponentOption, ZRColor } from '../../util/types.js';
import ComponentModel from '../../model/Component.js';
export interface AlarmParam {
    type: 'range' | 'value';
    text: string;
    value: number[] | number;
    max?: number;
    min?: number;
    id: string;
    action: 'merge' | 'remove';
    status: number;
}
export interface AlarmOption extends ComponentOption {
    mainType?: 'alarm';
    selectedId?: string;
    throttleType?: 'fixRate' | 'debounce';
    throttleDelay?: number;
    precision?: number;
    seriesName?: string;
    showLine?: boolean;
    alarmStyle?: {
        color?: ZRColor;
        backgroundColor?: string;
        splitColor?: string;
        disabledColor?: string;
        disabledIconColor?: string;
    };
    alarms: AlarmParam[];
}
declare class AlarmModel extends ComponentModel<AlarmOption> {
    static type: "alarm";
    type: "alarm";
    preventAutoZ: boolean;
    static dependencies: string[];
    static defaultOption: AlarmOption;
    /**
    //  * If `areas` is null/undefined, range state remain.
    //  */
    mergeAlarms(alarms?: AlarmParam[]): void;
    setSelectedId(id: string): void;
}
export default AlarmModel;
