export interface FunctionParamsOverrideResult { hasResult: true; result: any; } export interface FunctionParamsOverrideCondition { argc: Argc; condition(useArgc: Argc, currentArgs: any[]): boolean; } export interface FunctionParamsOverrideEntry { overrides: FunctionParamsOverrideCondition[]; func(params: any[]): any; } export declare class FunctionParamsOverrides { addOverrides(overrides: FunctionParamsOverrideCondition[], func: (params: any[]) => any): void; entries: FunctionParamsOverrideEntry[]; match(params: any[]): FunctionParamsOverrideResult | undefined; }