import type { EvaluationContext, JsonValue, Logger, ResolutionDetails } from '@openfeature/core'; import type { IEvaluator } from './evaluator'; import type { GoFeatureFlagProviderOptions } from '../go-feature-flag-provider-options'; export declare class RemoteEvaluator implements IEvaluator { /** * The OFREP provider */ private readonly ofrepProvider; /** * The logger to use. */ private readonly logger?; constructor(options: GoFeatureFlagProviderOptions, logger?: Logger); /** * Evaluates a boolean flag. * @param flagKey - The key of the flag to evaluate. * @param defaultValue - The default value to return if the flag is not found. * @param evaluationContext - The context in which to evaluate the flag. * @returns The resolution details of the flag evaluation. */ evaluateBoolean(flagKey: string, defaultValue: boolean, evaluationContext?: EvaluationContext): Promise>; /** * Evaluates a string flag. * @param flagKey - The key of the flag to evaluate. * @param defaultValue - The default value to return if the flag is not found. * @param evaluationContext - The context in which to evaluate the flag. * @returns The resolution details of the flag evaluation. */ evaluateString(flagKey: string, defaultValue: string, evaluationContext?: EvaluationContext): Promise>; /** * Evaluates a number flag. * @param flagKey - The key of the flag to evaluate. * @param defaultValue - The default value to return if the flag is not found. * @param evaluationContext - The context in which to evaluate the flag. * @returns The resolution details of the flag evaluation. */ evaluateNumber(flagKey: string, defaultValue: number, evaluationContext?: EvaluationContext): Promise>; /** * Evaluates an object flag. * @param flagKey - The key of the flag to evaluate. * @param defaultValue - The default value to return if the flag is not found. * @param evaluationContext - The context in which to evaluate the flag. * @returns The resolution details of the flag evaluation. */ evaluateObject(flagKey: string, defaultValue: T, evaluationContext?: EvaluationContext): Promise>; /** * Checks if the flag is trackable. * @param _flagKey - The key of the flag to check. * @returns True if the flag is trackable, false otherwise. */ isFlagTrackable(_flagKey: string): boolean; /** * Disposes the evaluator. * @returns A promise that resolves when the evaluator is disposed. */ dispose(): Promise; /** * Initializes the evaluator. * @returns A promise that resolves when the evaluator is initialized. */ initialize(): Promise; }