import * as plugins from '../plugins.ts';
import * as data from '../data/index.ts';

export interface IReq_GetCredentials extends plugins.typedrequestInterfaces.implementsTR<
  plugins.typedrequestInterfaces.ITypedRequest,
  IReq_GetCredentials
> {
  method: 'getCredentials';
  request: {
    identity: data.IIdentity;
  };
  response: {
    credentials: data.IObjstCredential[];
  };
}

export interface IReq_AddCredential extends plugins.typedrequestInterfaces.implementsTR<
  plugins.typedrequestInterfaces.ITypedRequest,
  IReq_AddCredential
> {
  method: 'addCredential';
  request: {
    identity: data.IIdentity;
    accessKeyId: string;
    secretAccessKey: string;
  };
  response: {
    ok: boolean;
  };
}

export interface IReq_RemoveCredential extends plugins.typedrequestInterfaces.implementsTR<
  plugins.typedrequestInterfaces.ITypedRequest,
  IReq_RemoveCredential
> {
  method: 'removeCredential';
  request: {
    identity: data.IIdentity;
    accessKeyId: string;
  };
  response: {
    ok: boolean;
  };
}
