import type { HealthStatus, ISecretProvider, SecretProviderConfig, SecretValue } from "../../../../shared/interfaces/secret-provider.interface.js"; /** * Base abstract class for secret providers * Provides common functionality for all secret provider implementations */ export declare abstract class BaseSecretProvider implements ISecretProvider { /** * Provider name (must be implemented by subclasses) */ abstract readonly name: string; /** * Check if this provider supports the given provider type */ abstract supports(providerType: string): boolean; /** * Fetch a secret from this provider (must be implemented by subclasses) */ abstract fetch(config: SecretProviderConfig): Promise; /** * Rotate a secret (optional, default implementation throws not supported) */ rotate(_config: SecretProviderConfig): Promise; /** * Check provider health (must be implemented by subclasses) */ abstract healthCheck(): Promise; /** * Helper: Create secret value from components */ protected createSecretValue(key: string, value: string, version?: string, expiresAt?: Date): SecretValue; /** * Helper: Validate configuration */ protected validateConfig(config: SecretProviderConfig, requiredFields: string[]): void; } //# sourceMappingURL=base.provider.d.ts.map