import { NetFields } from '../types/net_fields'; import { NetParams } from '../types/net_props'; import { CactbotBaseRegExp } from '../types/net_trigger'; import { LogDefinitionName, LogDefinitionVersions, RepeatingFieldsDefinitions, RepeatingFieldsTypes } from './netlog_defs'; type RepeatingFieldsMap = { [name in RepeatingFieldsDefinitions[TKey]['repeatingFields']['names'][number]]: string | string[]; }[]; type RepeatingFieldsMapTypeCheck = F extends RepeatingFieldsDefinitions[TKey]['repeatingFields']['label'] ? RepeatingFieldsMap : never; type RepeatingFieldsMapType = T extends RepeatingFieldsTypes ? RepeatingFieldsMapTypeCheck : never; type ParseHelperType = { [field in keyof NetFields[T]]?: string | readonly string[] | RepeatingFieldsMapType; } & { capture?: boolean; }; export declare const buildRegex: (type: T, params?: ParseHelperType | undefined) => CactbotBaseRegExp; export default class Regexes { static logVersion: LogDefinitionVersions; /** * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-20-0x14-networkstartscasting */ static startsUsing(params?: NetParams['StartsUsing']): CactbotBaseRegExp<'StartsUsing'>; /** * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-21-0x15-networkability * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-22-0x16-networkaoeability */ static ability(params?: NetParams['Ability']): CactbotBaseRegExp<'Ability'>; /** * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-21-0x15-networkability * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-22-0x16-networkaoeability * * @deprecated Use `ability` instead */ static abilityFull(params?: NetParams['Ability']): CactbotBaseRegExp<'Ability'>; /** * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-27-0x1b-networktargeticon-head-marker */ static headMarker(params?: NetParams['HeadMarker']): CactbotBaseRegExp<'HeadMarker'>; /** * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-03-0x03-addcombatant */ static addedCombatant(params?: NetParams['AddedCombatant']): CactbotBaseRegExp<'AddedCombatant'>; /** * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-03-0x03-addcombatant */ static addedCombatantFull(params?: NetParams['AddedCombatant']): CactbotBaseRegExp<'AddedCombatant'>; /** * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-04-0x04-removecombatant */ static removingCombatant(params?: NetParams['RemovedCombatant']): CactbotBaseRegExp<'RemovedCombatant'>; /** * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-26-0x1a-networkbuff */ static gainsEffect(params?: NetParams['GainsEffect']): CactbotBaseRegExp<'GainsEffect'>; /** * Prefer gainsEffect over this function unless you really need extra data. * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-38-0x26-networkstatuseffects */ static statusEffectExplicit(params?: NetParams['StatusEffect']): CactbotBaseRegExp<'StatusEffect'>; /** * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-30-0x1e-networkbuffremove */ static losesEffect(params?: NetParams['LosesEffect']): CactbotBaseRegExp<'LosesEffect'>; /** * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-35-0x23-networktether */ static tether(params?: NetParams['Tether']): CactbotBaseRegExp<'Tether'>; /** * 'target' was defeated by 'source' * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-25-0x19-networkdeath */ static wasDefeated(params?: NetParams['WasDefeated']): CactbotBaseRegExp<'WasDefeated'>; /** * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-24-0x18-networkdot */ static networkDoT(params?: NetParams['NetworkDoT']): CactbotBaseRegExp<'NetworkDoT'>; /** * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-00-0x00-logline */ static echo(params?: NetParams['GameLog']): CactbotBaseRegExp<'GameLog'>; /** * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-00-0x00-logline */ static dialog(params?: NetParams['GameLog']): CactbotBaseRegExp<'GameLog'>; /** * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-00-0x00-logline */ static message(params?: NetParams['GameLog']): CactbotBaseRegExp<'GameLog'>; /** * fields: code, name, line, capture * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-00-0x00-logline */ static gameLog(params?: NetParams['GameLog']): CactbotBaseRegExp<'GameLog'>; /** * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-00-0x00-logline */ static gameNameLog(params?: NetParams['GameLog']): CactbotBaseRegExp<'GameLog'>; /** * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-12-0x0c-playerstats */ static statChange(params?: NetParams['PlayerStats']): CactbotBaseRegExp<'PlayerStats'>; /** * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-01-0x01-changezone */ static changeZone(params?: NetParams['ChangeZone']): CactbotBaseRegExp<'ChangeZone'>; /** * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-33-0x21-network6d-actor-control */ static network6d(params?: NetParams['ActorControl']): CactbotBaseRegExp<'ActorControl'>; /** * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-34-0x22-networknametoggle */ static nameToggle(params?: NetParams['NameToggle']): CactbotBaseRegExp<'NameToggle'>; /** * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-40-0x28-map */ static map(params?: NetParams['Map']): CactbotBaseRegExp<'Map'>; /** * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-41-0x29-systemlogmessage */ static systemLogMessage(params?: NetParams['SystemLogMessage']): CactbotBaseRegExp<'SystemLogMessage'>; /** * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-257-0x101-mapeffect */ static mapEffect(params?: NetParams['MapEffect']): CactbotBaseRegExp<'MapEffect'>; /** * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-258-0x102-fatedirector */ static fateDirector(params?: NetParams['FateDirector']): CactbotBaseRegExp<'FateDirector'>; /** * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-259-0x103-cedirector */ static ceDirector(params?: NetParams['CEDirector']): CactbotBaseRegExp<'CEDirector'>; /** * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-260-0x104-incombat */ static inCombat(params?: NetParams['InCombat']): CactbotBaseRegExp<'InCombat'>; /** * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-261-0x105-combatantmemory */ static combatantMemory(params?: NetParams['CombatantMemory']): CactbotBaseRegExp<'CombatantMemory'>; /** * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-263-0x107-startsusingextra */ static startsUsingExtra(params?: NetParams['StartsUsingExtra']): CactbotBaseRegExp<'StartsUsingExtra'>; /** * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-264-0x108-abilityextra */ static abilityExtra(params?: NetParams['AbilityExtra']): CactbotBaseRegExp<'AbilityExtra'>; /** * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-265-0x109-contentfindersettings */ static contentFinderSettings(params?: NetParams['ContentFinderSettings']): CactbotBaseRegExp<'ContentFinderSettings'>; /** * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-266-0x10a-npcyell */ static npcYell(params?: NetParams['NpcYell']): CactbotBaseRegExp<'NpcYell'>; /** * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-267-0x10b-battletalk2 */ static battleTalk2(params?: NetParams['BattleTalk2']): CactbotBaseRegExp<'BattleTalk2'>; /** * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-268-0x10c-countdown */ static countdown(params?: NetParams['Countdown']): CactbotBaseRegExp<'Countdown'>; /** * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-269-0x10d-countdowncancel */ static countdownCancel(params?: NetParams['CountdownCancel']): CactbotBaseRegExp<'CountdownCancel'>; /** * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-270-0x10e-actormove */ static actorMove(params?: NetParams['ActorMove']): CactbotBaseRegExp<'ActorMove'>; /** * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-271-0x10f-actorsetpos */ static actorSetPos(params?: NetParams['ActorSetPos']): CactbotBaseRegExp<'ActorSetPos'>; /** * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-272-0x110-spawnnpcextra */ static spawnNpcExtra(params?: NetParams['SpawnNpcExtra']): CactbotBaseRegExp<'SpawnNpcExtra'>; /** * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-273-0x111-actorcontrolextra */ static actorControlExtra(params?: NetParams['ActorControlExtra']): CactbotBaseRegExp<'ActorControlExtra'>; /** * matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-274-0x112-actorcontrolselfextra */ static actorControlSelfExtra(params?: NetParams['ActorControlSelfExtra']): CactbotBaseRegExp<'ActorControlSelfExtra'>; /** * Helper function for building named capture group */ static maybeCapture(capture: boolean, name: string, value: string | readonly string[] | undefined, defaultValue?: string): string; static optional(str: string): string; static namedCapture(name: string, value: string): string; /** * Convenience for turning multiple args into a unioned regular expression. * anyOf(x, y, z) or anyOf([x, y, z]) do the same thing, and return (?:x|y|z). * anyOf(x) or anyOf(x) on its own simplifies to just x. * args may be strings or RegExp, although any additional markers to RegExp * like /insensitive/i are dropped. */ static anyOf(...args: (string | readonly string[] | RegExp)[]): string; static parse(regexpString: RegExp | string | CactbotBaseRegExp<'None'>): RegExp; static parseGlobal(regexpString: RegExp | string): RegExp; static trueIfUndefined(value?: boolean): boolean; static validateParams(f: Readonly<{ [s: string]: unknown; }>, funcName: string, params: Readonly): void; } export {};