import { DLEQProver } from './dleq.js'; import type { Elt, Scalar } from './groupTypes.js'; import type { EvaluationRequest, ModeID, SuiteID } from './oprf.js'; import { Evaluation, Oprf } from './oprf.js'; import type { CryptoProviderArg } from './cryptoImpl.js'; declare class baseServer extends Oprf { protected prover: DLEQProver; protected privateKey: Uint8Array; supportsWebCryptoOPRF: boolean; constructor(mode: ModeID, suite: SuiteID, privateKey: Uint8Array, ...arg: CryptoProviderArg); protected doBlindEvaluation(blinded: Elt, key: Uint8Array): Promise; private blindEvaluateWebCrypto; private blindEvaluateGroup; protected secretFromInfo(info: Uint8Array): Promise<[Scalar, Scalar]>; protected doEvaluate(input: Uint8Array, info?: Uint8Array): Promise; } export declare class OPRFServer extends baseServer { constructor(suite: SuiteID, privateKey: Uint8Array, ...arg: CryptoProviderArg); blindEvaluate(req: EvaluationRequest): Promise; evaluate(input: Uint8Array): Promise; verifyFinalize(input: Uint8Array, output: Uint8Array): Promise; } export declare class VOPRFServer extends baseServer { constructor(suite: SuiteID, privateKey: Uint8Array, ...arg: CryptoProviderArg); blindEvaluate(req: EvaluationRequest): Promise; evaluate(input: Uint8Array): Promise; verifyFinalize(input: Uint8Array, output: Uint8Array): Promise; } export declare class POPRFServer extends baseServer { constructor(suite: SuiteID, privateKey: Uint8Array, ...arg: CryptoProviderArg); blindEvaluate(req: EvaluationRequest, info?: Uint8Array): Promise; evaluate(input: Uint8Array, info?: Uint8Array): Promise; verifyFinalize(input: Uint8Array, output: Uint8Array, info?: Uint8Array): Promise; } export {}; //# sourceMappingURL=server.d.ts.map