import type { OrphanedResource } from './types';
/**
 * Service for managing orphaned resources
 */
export declare class OrphanedResourceService {
    private readonly region;
    private readonly logger;
    private readonly taggingClient;
    private readonly s3Client;
    private readonly lambdaClient;
    private readonly dynamoClient;
    private readonly cloudFrontClient;
    constructor(region: string, logger: {
        info: (msg: string, meta?: any) => void;
        warn: (msg: string, meta?: any) => void;
    });
    /**
     * Discover orphaned resources for a service/stage
     */
    discoverOrphanedResources(projectName: string, stage: string): Promise<OrphanedResource[]>;
    /**
     * Delete an orphaned resource
     */
    deleteOrphanedResource(resource: OrphanedResource): Promise<void>;
    /**
     * Check if resource has retention policy
     */
    private hasRetentionPolicy;
    /**
     * Extract resource type from ARN
     */
    private extractResourceType;
    /**
     * Extract resource ID from ARN
     */
    private extractResourceId;
    /**
     * Delete S3 bucket
     */
    private deleteS3Bucket;
    /**
     * Delete Lambda function
     */
    private deleteLambdaFunction;
    /**
     * Delete DynamoDB table
     */
    private deleteDynamoDBTable;
    /**
     * Delete CloudFront distribution
     */
    private deleteCloudFrontDistribution;
}
