export interface ConfigurationDefinitionInput {
    /** The type of the Quick Setup configuration. */
    Type: string;
    /** The parameters for the configuration definition type. Parameters for configuration definitions vary based the configuration type. The following tables outline the parameters for each configuration typ */
    Parameters: Record<string, any>;
    /** The version of the Quick Setup type to use. */
    TypeVersion?: string;
    /** The name of the IAM role used to deploy local configurations. */
    LocalDeploymentExecutionRoleName?: string;
    /** The ARN of the IAM role used to administrate local configuration deployments. */
    LocalDeploymentAdministrationRoleArn?: string;
}
export interface Filter {
    /** The key for the filter. */
    Key: string;
    /** The values for the filter keys. */
    Values: any[];
}
export interface CreateConfigurationManagerInput {
    /** The definition of the Quick Setup configuration that the configuration manager deploys. */
    ConfigurationDefinitions: ConfigurationDefinitionInput[];
    /** A description of the configuration manager. */
    Description?: string;
    /** A name for the configuration manager. */
    Name?: string;
    /** Key-value pairs of metadata to assign to the configuration manager. */
    Tags?: Record<string, string>;
}
export interface DeleteConfigurationManagerInput {
    /** The ID of the configuration manager. */
    ManagerArn: string;
}
export interface GetConfigurationInput {
    /** A service generated identifier for the configuration. */
    ConfigurationId: string;
}
export interface GetConfigurationManagerInput {
    /** The ARN of the configuration manager. */
    ManagerArn: string;
}
export interface ListConfigurationManagersInput {
    /** Filters the results returned by the request. */
    Filters?: Filter[];
    /** Specifies the maximum number of configuration managers that are returned by the request. */
    MaxItems?: number;
    /** The token to use when requesting a specific set of items from a list. */
    StartingToken?: string;
}
export interface ListConfigurationsInput {
    /** The ID of the configuration definition. */
    ConfigurationDefinitionId?: string;
    /** Filters the results returned by the request. */
    Filters?: Filter[];
    /** The ARN of the configuration manager. */
    ManagerArn?: string;
    /** Specifies the maximum number of configurations that are returned by the request. */
    MaxItems?: number;
    /** The token to use when requesting a specific set of items from a list. */
    StartingToken?: string;
}
export interface ListTagsForResourceInput {
    /** The ARN of the resource the tag is assigned to. */
    ResourceArn: string;
}
export interface TagResourceInput {
    /** The ARN of the resource to tag. */
    ResourceArn: string;
    /** Key-value pairs of metadata to assign to the resource. */
    Tags: Record<string, string>;
}
export interface UntagResourceInput {
    /** The ARN of the resource to remove tags from. */
    ResourceArn: string;
    /** The keys of the tags to remove from the resource. */
    TagKeys: string[];
}
export interface UpdateConfigurationDefinitionInput {
    /** The ID of the configuration definition you want to update. */
    Id: string;
    /** The ARN of the configuration manager associated with the definition to update. */
    ManagerArn: string;
    /** The ARN of the IAM role used to administrate local configuration deployments. */
    LocalDeploymentAdministrationRoleArn?: string;
    /** The name of the IAM role used to deploy local configurations. */
    LocalDeploymentExecutionRoleName?: string;
    /** The parameters for the configuration definition type. */
    Parameters?: Record<string, string>;
    /** The version of the Quick Setup type to use. */
    TypeVersion?: string;
}
export interface UpdateConfigurationManagerInput {
    /** The ARN of the configuration manager. */
    ManagerArn: string;
    /** A description of the configuration manager. */
    Description?: string;
    /** A name for the configuration manager. */
    Name?: string;
}
export interface UpdateServiceSettingsInput {
    /** The IAM role used to enable Explorer. */
    ExplorerEnablingRoleArn?: string;
}
/** SSM QuickSetup service binding for Step Functions SDK integrations. */
export declare class SSMQuickSetup {
    constructor();
    createConfigurationManager<T>(params: CreateConfigurationManagerInput): Promise<T>;
    deleteConfigurationManager<T>(params: DeleteConfigurationManagerInput): Promise<T>;
    getConfiguration<T>(params: GetConfigurationInput): Promise<T>;
    getConfigurationManager<T>(params: GetConfigurationManagerInput): Promise<T>;
    getServiceSettings<T>(): Promise<T>;
    listConfigurationManagers<T>(params: ListConfigurationManagersInput): Promise<T>;
    listConfigurations<T>(params: ListConfigurationsInput): Promise<T>;
    listQuickSetupTypes<T>(): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateConfigurationDefinition<T>(params: UpdateConfigurationDefinitionInput): Promise<T>;
    updateConfigurationManager<T>(params: UpdateConfigurationManagerInput): Promise<T>;
    updateServiceSettings<T>(params: UpdateServiceSettingsInput): Promise<T>;
}
//# sourceMappingURL=SSMQuickSetup.d.ts.map