import type { FlagMetadata, ResolutionDetails } from '@openfeature/core'; import { ErrorCode } from '@openfeature/core'; import type { BulkEvaluationRefetchMetadata, EvaluationFailureResponse, EvaluationFlagValue, EvaluationRequest, EvaluationSuccessResponse, OFREPApiBulkEvaluationResult, OFREPApiEvaluationResult, OFREPEvaluationErrorHttpStatus, OFREPEvaluationSuccessHttpStatus } from '../model'; import type { OFREPProviderBaseOptions } from '../provider'; export type FetchAPI = WindowOrWorkerGlobalScope['fetch']; export declare const ErrorMessageMap: { [key in ErrorCode]: string; }; export declare class OFREPApi { private baseOptions; private fetchImplementation; private static readonly jsonRegex; private _shutdownController; constructor(baseOptions: OFREPProviderBaseOptions, fetchImplementation?: FetchAPI); private isJsonMime; static isOFREFErrorHttpStatus(status: number): status is OFREPEvaluationErrorHttpStatus; static isOFREFSuccessHttpStatus(status: number): status is OFREPEvaluationSuccessHttpStatus; /** * Aborts any in-flight requests and releases resources. * After calling this method, the OFREPApi instance should not be used. */ close(): void; private doFetchRequest; postEvaluateFlag(flagKey: string, evaluationRequest?: EvaluationRequest): Promise; postBulkEvaluateFlags(requestBody?: EvaluationRequest, etag?: string | null, sseMetadata?: BulkEvaluationRefetchMetadata): Promise; } export declare function handleEvaluationError(resultOrError: EvaluationFailureResponse | Error, defaultValue: T, callback?: (resultOrError: EvaluationFailureResponse | Error) => void): ResolutionDetails; export declare function toResolutionDetails(result: EvaluationSuccessResponse, defaultValue: T): ResolutionDetails; export declare function toFlagMetadata(metadata?: object): FlagMetadata | undefined;