import { IniSection } from '../../ini/file'; /** * A standard object mapping strings to strings. */ export declare type StringObject = { [key: string]: string; }; export declare type FunctionSignature = { args: string[]; scriptName: string | null; returnType: string | null; }; /** * A standard object mapping strings to function signatures and an optional Jass name. */ export declare type FunctionObject = { [key: string]: FunctionSignature; }; /** * Trigger data needed to load a WTG file. */ export declare class TriggerData { types: StringObject; functions: FunctionObject[]; presets: StringObject; externalTypes: StringObject; externalFunctions: FunctionObject[]; externalPresets: StringObject; addTriggerData(buffer: string, isExternal: boolean): void; addTriggerTypes(types: StringObject, section: IniSection): void; addTriggerDataFunctions(functions: FunctionObject, section: IniSection, skipped: number): void; addTriggerDataPresets(presets: StringObject, section: IniSection): void; addJassFunctions(jass: string): void; /** * Given a type, return its base type. * * Returns the given type if its not a child type. */ getBaseType(type: string): string; isBaseFunction(type: number, name: string): boolean; /** * Gets the signature of the given function. */ getFunction(type: number, name: string): FunctionSignature; /** * Get the type of a function given its name. * Returns -1 if the function isn't recognized. */ getFunctionType(name: string): number; /** * Gets a preset value. */ getPreset(name: string): string; /** * Is the given preset a custom or standard one? */ isCustomPreset(name: string): boolean; }