import * as pulumi from "@pulumi/pulumi";
import * as enums from "../types/enums";
/**
 * Schema for AWS::CodeStarConnections::SyncConfiguration resource which is used to enables an AWS resource to be synchronized from a source-provider.
 */
export declare class SyncConfiguration extends pulumi.CustomResource {
    /**
     * Get an existing SyncConfiguration 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): SyncConfiguration;
    /**
     * Returns true if the given object is an instance of SyncConfiguration.  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 SyncConfiguration;
    /**
     * The name of the branch of the repository from which resources are to be synchronized,
     */
    readonly branch: pulumi.Output<string>;
    /**
     * The source provider repository path of the sync configuration file of the respective SyncType.
     */
    readonly configFile: pulumi.Output<string>;
    /**
     * the ID of the entity that owns the repository.
     */
    readonly ownerId: pulumi.Output<string>;
    /**
     * The name of the external provider where your third-party code repository is configured.
     */
    readonly providerType: pulumi.Output<enums.codestarconnections.SyncConfigurationProviderType>;
    /**
     * Whether to enable or disable publishing of deployment status to source providers.
     */
    readonly publishDeploymentStatus: pulumi.Output<enums.codestarconnections.SyncConfigurationPublishDeploymentStatus | undefined>;
    /**
     * A UUID that uniquely identifies the RepositoryLink that the SyncConfig is associated with.
     */
    readonly repositoryLinkId: pulumi.Output<string>;
    /**
     * The name of the repository that is being synced to.
     */
    readonly repositoryName: pulumi.Output<string>;
    /**
     * The name of the resource that is being synchronized to the repository.
     */
    readonly resourceName: pulumi.Output<string>;
    /**
     * The IAM Role that allows AWS to update CloudFormation stacks based on content in the specified repository.
     */
    readonly roleArn: pulumi.Output<string>;
    /**
     * The type of resource synchronization service that is to be configured, for example, CFN_STACK_SYNC.
     */
    readonly syncType: pulumi.Output<string>;
    /**
     * When to trigger Git sync to begin the stack update.
     */
    readonly triggerResourceUpdateOn: pulumi.Output<enums.codestarconnections.SyncConfigurationTriggerResourceUpdateOn | undefined>;
    /**
     * Create a SyncConfiguration 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: SyncConfigurationArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * The set of arguments for constructing a SyncConfiguration resource.
 */
export interface SyncConfigurationArgs {
    /**
     * The name of the branch of the repository from which resources are to be synchronized,
     */
    branch: pulumi.Input<string>;
    /**
     * The source provider repository path of the sync configuration file of the respective SyncType.
     */
    configFile: pulumi.Input<string>;
    /**
     * Whether to enable or disable publishing of deployment status to source providers.
     */
    publishDeploymentStatus?: pulumi.Input<enums.codestarconnections.SyncConfigurationPublishDeploymentStatus>;
    /**
     * A UUID that uniquely identifies the RepositoryLink that the SyncConfig is associated with.
     */
    repositoryLinkId: pulumi.Input<string>;
    /**
     * The name of the resource that is being synchronized to the repository.
     */
    resourceName: pulumi.Input<string>;
    /**
     * The IAM Role that allows AWS to update CloudFormation stacks based on content in the specified repository.
     */
    roleArn: pulumi.Input<string>;
    /**
     * The type of resource synchronization service that is to be configured, for example, CFN_STACK_SYNC.
     */
    syncType: pulumi.Input<string>;
    /**
     * When to trigger Git sync to begin the stack update.
     */
    triggerResourceUpdateOn?: pulumi.Input<enums.codestarconnections.SyncConfigurationTriggerResourceUpdateOn>;
}
