import { Config } from "./config.js";
import { ISecurity } from "soap";

//#region src/security.d.ts
interface PfxSecurity {
  pfx: Buffer;
  passphrase: string;
}
interface PemSecurity {
  cert: Buffer;
  key: Buffer;
  passphrase?: string;
}
interface ApiGwSecurity {
  apiKeyId: string;
  apiSecretKey: string;
}
type Security = PfxSecurity | PemSecurity | ApiGwSecurity;
declare function isValidSecurity(obj: unknown): obj is Security;
declare function prepareSecurity(config: Config): ISecurity;
/**
 * Create a security objet from environment variables
 *
 * Will cache data for future use.
 *
 * @returns Security configuration
 */
declare function fromEnv(): Security;
/**
 * Convenience function to clear the cached security objet
 */
declare function clearCache(): void;
//#endregion
export { Security, clearCache, fromEnv, isValidSecurity, prepareSecurity };
//# sourceMappingURL=security.d.ts.map