import { CloudFormationDeployer } from "../deployers/cloudformation.js";
/**
 * Interface that allow a Service to define specific AWS permissions
 */
export interface IAMPolicyContributor {
    /**
     *
     * @param accountId The account where the application is being deployed
     * @param region The region where the application is being deployed
     */
    getARNPolicy: (accountId: string, region: string) => {};
}
/**
 * Allow a service to contribute to the CloudFormation template
 */
export interface CloudFormationContributor {
    /**
     *
     * {@link S3Binary.getCloudFormation}
     * @param deployer The current deployer asking for contribution
     */
    getCloudFormation: (deployer: CloudFormationDeployer) => {};
}
export * from "./aws-mixin.js";
export * from "./cloudwatchlogger.js";
export * from "./dynamodb.js";
export * from "./lambdacaller.js";
export * from "./lambdaserver.js";
export * from "./s3binary.js";
export * from "./secretsmanager.js";
export * from "./sqsqueue.js";
