import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * The ``AWS::ECR::ReplicationConfiguration`` resource creates or updates the replication configuration for a private registry. The first time a replication configuration is applied to a private registry, a service-linked IAM role is created in your account for the replication process. For more information, see [Using Service-Linked Roles for Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/using-service-linked-roles.html) in the *Amazon Elastic Container Registry User Guide*.
 *   When configuring cross-account replication, the destination account must grant the source account permission to replicate. This permission is controlled using a private registry permissions policy. For more information, see ``AWS::ECR::RegistryPolicy``.
 *
 * ## Example Usage
 * ### Example
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as aws_native from "@pulumi/aws-native";
 *
 * const myReplicationConfig = new aws_native.ecr.ReplicationConfiguration("myReplicationConfig", {replicationConfiguration: {
 *     rules: [{
 *         destinations: [
 *             {
 *                 region: "us-east-2",
 *                 registryId: "123456789012",
 *             },
 *             {
 *                 region: "us-west-1",
 *                 registryId: "123456789012",
 *             },
 *         ],
 *     }],
 * }});
 *
 * ```
 */
export declare class ReplicationConfiguration extends pulumi.CustomResource {
    /**
     * Get an existing ReplicationConfiguration resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): ReplicationConfiguration;
    /**
     * Returns true if the given object is an instance of ReplicationConfiguration.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is ReplicationConfiguration;
    /**
     * The account ID of the destination registry.
     */
    readonly registryId: pulumi.Output<string>;
    /**
     * The replication configuration for a registry.
     */
    readonly replicationConfiguration: pulumi.Output<outputs.ecr.ReplicationConfiguration>;
    /**
     * Create a ReplicationConfiguration resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args: ReplicationConfigurationArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * The set of arguments for constructing a ReplicationConfiguration resource.
 */
export interface ReplicationConfigurationArgs {
    /**
     * The replication configuration for a registry.
     */
    replicationConfiguration: pulumi.Input<inputs.ecr.ReplicationConfigurationArgs>;
}
