import { Config } from 'aws-sdk/lib/config';
import { BucketAccelerateStatus, CORSRules, GetBucketVersioningOutput, GetBucketWebsiteOutput, Grants, LifecycleRules, LoggingEnabled, NotificationConfiguration, Object as S3Object, Owner, Payer, Policy, PolicyStatus, PublicAccessBlockConfiguration, ReplicationConfiguration, ServerSideEncryptionConfiguration } from 'aws-sdk/clients/s3';
import { TagMap } from '../../types';
export declare const awsBucketItemsLimit = 1000;
export declare const publicBucketGrant = "http://acs.amazonaws.com/groups/global/AllUsers";
/**
 * S3
 */
export interface RawAwsS3 {
    AdditionalInfo?: {
        AccelerationConfig: BucketAccelerateStatus;
        BucketOwnerData: Owner;
        CorsInfo: CORSRules;
        EncryptionInfo?: ServerSideEncryptionConfiguration;
        Grants: Grants;
        LifecycleConfig: LifecycleRules;
        LoggingInfo?: LoggingEnabled;
        Policy: Policy;
        PolicyStatus?: PolicyStatus;
        PublicAccessBlockConfig?: PublicAccessBlockConfiguration;
        ReplicationConfig?: ReplicationConfiguration;
        ReqPaymentConfig: Payer;
        StaticWebsiteInfo?: GetBucketWebsiteOutput;
        VersioningInfo?: GetBucketVersioningOutput;
        NotificationConfiguration?: NotificationConfiguration;
    };
    Tags: TagMap;
    Contents?: S3Object[];
    CreationDate: Date;
    Id: string;
    Name: string;
    region: string;
    AccountLevelBlockPublicAcls?: boolean;
    AccountLevelIgnorePublicAcls?: boolean;
    AccountLevelBlockPublicPolicy?: boolean;
    AccountLevelRestrictPublicBuckets?: boolean;
}
declare const _default: ({ regions, config, account, }: {
    regions: string;
    config: Config;
    account: string;
}) => Promise<{
    [region: string]: RawAwsS3[];
}>;
export default _default;
