import * as data from '../data/index.js';
import * as plugins from '../loint-reception.plugins.js';

export interface IReq_GetPublicKeyForValidation
  extends plugins.typedRequestInterfaces.implementsTR<
    plugins.typedRequestInterfaces.ITypedRequest,
    IReq_GetPublicKeyForValidation
  > {
  method: 'getPublicKeyForValidation';
  request: {
    backendToken: string;
  };
  response: {
    publicKeyPem: string;
  };
}

export interface IReq_PushPublicKeyForValidation
  extends plugins.typedRequestInterfaces.implementsTR<
    plugins.typedRequestInterfaces.ITypedRequest,
    IReq_PushPublicKeyForValidation
  > {
  method: 'pushPublicKeyForValidation';
  request: {
    publicKeyPem: string;
  };
  response: {};
}

/**
 * allows getting or pushing a blocklist of jwt ids
 */
export interface IReq_PushOrGetJwtIdBlocklist
  extends plugins.typedRequestInterfaces.implementsTR<
    plugins.typedRequestInterfaces.ITypedRequest,
    IReq_PushOrGetJwtIdBlocklist
  > {
  method: 'pushOrGetJwtIdBlocklist';
  request: {
    blockedJwtIds?: string[];
  };
  response: {
    blockedJwtIds?: string[];
  };
}
