//#region src/utils/pow.d.ts
type PoWError = 'pow_required' | 'pow_invalid' | 'pow_expired';
type PoWResult = {
  ok: true;
} | {
  ok: false;
  error: PoWError;
};
type SentinelError = 'sentinel_network_error' | 'sentinel_invalid_response' | 'sentinel_verify_failed' | 'sentinel_rejected';
type SentinelVerifyResult = {
  ok: true;
  classification: string;
  score: number;
  verificationId: string;
} | {
  ok: false;
  error: SentinelError;
  reason: string;
};
declare function isSentinelUpstreamUnavailable(error: SentinelError): boolean;
declare function getPoWErrorMessage(error: PoWError): string;
declare function isPoWEnabled(hmacSecret: string | undefined): boolean;
declare function verifyPoW(request: Request, hmacSecret: string | undefined): Promise<PoWResult>;
declare function isSentinelEnabled(apiKeyId: string | undefined): apiKeyId is string;
declare function verifySentinelPayload(payload: string, sentinelBaseUrl: string, apiKeyId: string, apiKeySecret: string): Promise<SentinelVerifyResult>;
//#endregion
export { PoWError, PoWResult, SentinelError, SentinelVerifyResult, getPoWErrorMessage, isPoWEnabled, isSentinelEnabled, isSentinelUpstreamUnavailable, verifyPoW, verifySentinelPayload };