import type { EvidenceItem, MissingEvidence, TrackedEvidence, StateAssessment } from '../../core/index.js'; import { type RecoverabilityResult } from '../../resources/types.js'; import type { AwsSignedClient } from './client.js'; export interface S3BucketEvidence { bucket: string; region?: string; exists?: boolean; versioning?: 'Enabled' | 'Suspended' | 'Off' | 'Unknown'; objectLockEnabled?: boolean; hasReplication?: boolean; hasLifecycleRules?: boolean; isEmpty?: boolean; tags?: Record; missingEvidence?: string[]; objectCount?: number; totalSizeBytes?: number; lastModified?: string; sampleSize?: number; } export interface S3EvidenceAnalysis { recoverability: RecoverabilityResult; evidence: EvidenceItem[]; missingEvidence: MissingEvidence[]; } export declare function readS3BucketEvidence(client: AwsSignedClient, bucket: string, region?: string): Promise; export declare function analyzeS3BucketDeletionEvidence(evidence: S3BucketEvidence): S3EvidenceAnalysis; /** * Convert S3 evidence to tracked evidence with source and timestamp. */ export declare function toTrackedEvidence(evidence: S3BucketEvidence, gatheredAt?: string): TrackedEvidence[]; /** * Assess the quality of S3 bucket evidence for deletion classification. * Returns a StateAssessment indicating whether classification is safe. */ export declare function assessS3BucketDeletionState(evidence: S3BucketEvidence, gatheredAt?: string): StateAssessment; //# sourceMappingURL=s3.d.ts.map