import PartyTracker from '../../../resources/party'; import { JobDetail } from '../../../types/event'; import { Bars } from '../bars'; import { ComboTracker } from '../combo_tracker'; import { JobsEventEmitter, PartialFieldMatches } from '../event_emitter'; import { FfxivVersion } from '../jobs'; import { JobsOptions } from '../jobs_options'; import { Player } from '../player'; export type ShouldShow = { buffList?: boolean; pullBar?: boolean; hpBar?: boolean; mpBar?: boolean; cpBar?: boolean; gpBar?: boolean; mpTicker?: boolean; }; export interface ComponentInterface { bars: Bars; emitter: JobsEventEmitter; options: JobsOptions; partyTracker: PartyTracker; player: Player; ffxivVersion: FfxivVersion; } export declare class BaseComponent implements ComponentInterface { bars: Bars; emitter: JobsEventEmitter; options: JobsOptions; partyTracker: PartyTracker; player: Player; ffxivVersion: FfxivVersion; inCombat: boolean; comboDuration: number; constructor(o: ComponentInterface); private _bindListeners; onCombo(_id: string | undefined, _combo: ComboTracker): void; onYouGainEffect(_id: string, _effect: PartialFieldMatches<'GainsEffect'>): void; onYouLoseEffect(_id: string, _effect: PartialFieldMatches<'LosesEffect'>): void; onMobGainsEffectFromYou(_id: string, _effect: PartialFieldMatches<'GainsEffect'>): void; onMobLosesEffectFromYou(_id: string, _effect: PartialFieldMatches<'LosesEffect'>): void; onUseAbility(_id: string, _ability: PartialFieldMatches<'Ability'>): void; onStatChange(_gcd: { gcdSkill: number; gcdSpell: number; }): void; onJobDetailUpdate(_jobDetail: JobDetail[keyof JobDetail]): void; reset(): void; }