export interface ParameterValue {
    /** The key associated with the parameter. If you don't specify a key and value for a particular parameter, AWS CloudFormation uses the default value that is specified in your template. */
    Name: string;
    /** The input value associated with the parameter. */
    Value: string;
}
export interface RollbackConfiguration {
    /** This property corresponds to the content of the same name for the AWS CloudFormation RollbackConfiguration Data Type. */
    MonitoringTimeInMinutes?: number;
    /** This property corresponds to the content of the same name for the AWS CloudFormation RollbackConfiguration Data Type. */
    RollbackTriggers?: any[];
}
export interface Tag {
    /** This property corresponds to the content of the same name for the AWS CloudFormation Tag Data Type. */
    Key: string;
    /** This property corresponds to the content of the same name for the AWS CloudFormation Tag Data Type. */
    Value: string;
}
export interface ApplicationPolicyStatement {
    /** For the list of actions supported for this operation, see Application Permissions. */
    Actions: any[];
    /** An array of PrinciplalOrgIDs, which corresponds to AWS IAM aws:PrincipalOrgID global condition key. */
    PrincipalOrgIDs?: any[];
    /** An array of AWS account IDs, or * to make the application public. */
    Principals: any[];
    /** A unique ID for the statement. */
    StatementId?: string;
}
export interface CreateApplicationInput {
    /** The name of the author publishing the app.Minimum length=1. Maximum length=127.Pattern "^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$"; */
    Author: string;
    /** The description of the application.Minimum length=1. Maximum length=256 */
    Description: string;
    /** The name of the application that you want to publish.Minimum length=1. Maximum length=140Pattern: "[a-zA-Z0-9\\-]+"; */
    Name: string;
    /** A URL with more information about the application, for example the location of your GitHub repository for the application. */
    HomePageUrl?: string;
    /** Labels to improve discovery of apps in search results.Minimum length=1. Maximum length=127. Maximum number of labels: 10Pattern: "^[a-zA-Z0-9+\\-_:\\/@]+$"; */
    Labels?: string[];
    /** A local text file that contains the license of the app that matches the spdxLicenseID value of your application. The file has the format file://&lt;path>/&lt;filename>.Maximum size 5 MBYou can specify */
    LicenseBody?: string;
    /** A link to the S3 object that contains the license of the app that matches the spdxLicenseID value of your application.Maximum size 5 MBYou can specify only one of licenseBody and licenseUrl; otherwise */
    LicenseUrl?: string;
    /** A local text readme file in Markdown language that contains a more detailed description of the application and how it works. The file has the format file://&lt;path>/&lt;filename>.Maximum size 5 MBYou */
    ReadmeBody?: string;
    /** A link to the S3 object in Markdown language that contains a more detailed description of the application and how it works.Maximum size 5 MBYou can specify only one of readmeBody and readmeUrl; otherw */
    ReadmeUrl?: string;
    /** The semantic version of the application: https://semver.org/ */
    SemanticVersion?: string;
    /** A link to the S3 object that contains the ZIP archive of the source code for this version of your application.Maximum size 50 MB */
    SourceCodeArchiveUrl?: string;
    /** A link to a public repository for the source code of your application, for example the URL of a specific GitHub commit. */
    SourceCodeUrl?: string;
    /** A valid identifier from https://spdx.org/licenses/. */
    SpdxLicenseId?: string;
    /** The local raw packaged AWS SAM template file of your application. The file has the format file://&lt;path>/&lt;filename>.You can specify only one of templateBody and templateUrl; otherwise an error re */
    TemplateBody?: string;
    /** A link to the S3 object containing the packaged AWS SAM template of your application.You can specify only one of templateBody and templateUrl; otherwise an error results. */
    TemplateUrl?: string;
}
export interface CreateApplicationVersionInput {
    /** The Amazon Resource Name (ARN) of the application. */
    ApplicationId: string;
    /** The semantic version of the new version. */
    SemanticVersion: string;
    /** A link to the S3 object that contains the ZIP archive of the source code for this version of your application.Maximum size 50 MB */
    SourceCodeArchiveUrl?: string;
    /** A link to a public repository for the source code of your application, for example the URL of a specific GitHub commit. */
    SourceCodeUrl?: string;
    /** The raw packaged AWS SAM template of your application. */
    TemplateBody?: string;
    /** A link to the packaged AWS SAM template of your application. */
    TemplateUrl?: string;
}
export interface CreateCloudFormationChangeSetInput {
    /** The Amazon Resource Name (ARN) of the application. */
    ApplicationId: string;
    /** This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet API. */
    StackName: string;
    /** A list of values that you must specify before you can deploy certain applications. Some applications might include resources that can affect permissions in your AWS account, for example, by creating n */
    Capabilities?: string[];
    /** This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet API. */
    ChangeSetName?: string;
    /** This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet API. */
    ClientToken?: string;
    /** This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet API. */
    Description?: string;
    /** This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet API. */
    NotificationArns?: string[];
    /** A list of parameter values for the parameters of the application. */
    ParameterOverrides?: ParameterValue[];
    /** This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet API. */
    ResourceTypes?: string[];
    /** This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet API. */
    RollbackConfiguration?: RollbackConfiguration;
    /** The semantic version of the application: https://semver.org/ */
    SemanticVersion?: string;
    /** This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet API. */
    Tags?: Tag[];
    /** The UUID returned by CreateCloudFormationTemplate.Pattern: [0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12} */
    TemplateId?: string;
}
export interface CreateCloudFormationTemplateInput {
    /** The Amazon Resource Name (ARN) of the application. */
    ApplicationId: string;
    /** The semantic version of the application: https://semver.org/ */
    SemanticVersion?: string;
}
export interface DeleteApplicationInput {
    /** The Amazon Resource Name (ARN) of the application. */
    ApplicationId: string;
}
export interface GetApplicationInput {
    /** The Amazon Resource Name (ARN) of the application. */
    ApplicationId: string;
    /** The semantic version of the application to get. */
    SemanticVersion?: string;
}
export interface GetApplicationPolicyInput {
    /** The Amazon Resource Name (ARN) of the application. */
    ApplicationId: string;
}
export interface GetCloudFormationTemplateInput {
    /** The Amazon Resource Name (ARN) of the application. */
    ApplicationId: string;
    /** The UUID returned by CreateCloudFormationTemplate.Pattern: [0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12} */
    TemplateId: string;
}
export interface ListApplicationDependenciesInput {
    /** The Amazon Resource Name (ARN) of the application. */
    ApplicationId: string;
    /** The total number of items to return. */
    MaxItems?: number;
    /** A token to specify where to start paginating. */
    NextToken?: string;
    /** The semantic version of the application to get. */
    SemanticVersion?: string;
}
export interface ListApplicationsInput {
    /** The total number of items to return. */
    MaxItems?: number;
    /** A token to specify where to start paginating. */
    NextToken?: string;
}
export interface ListApplicationVersionsInput {
    /** The Amazon Resource Name (ARN) of the application. */
    ApplicationId: string;
    /** The total number of items to return. */
    MaxItems?: number;
    /** A token to specify where to start paginating. */
    NextToken?: string;
}
export interface PutApplicationPolicyInput {
    /** The Amazon Resource Name (ARN) of the application. */
    ApplicationId: string;
    /** An array of policy statements applied to the application. */
    Statements: ApplicationPolicyStatement[];
}
export interface UnshareApplicationInput {
    /** The Amazon Resource Name (ARN) of the application. */
    ApplicationId: string;
    /** The AWS Organization ID to unshare the application from. */
    OrganizationId: string;
}
export interface UpdateApplicationInput {
    /** The Amazon Resource Name (ARN) of the application. */
    ApplicationId: string;
    /** The name of the author publishing the app.Minimum length=1. Maximum length=127.Pattern "^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$"; */
    Author?: string;
    /** The description of the application.Minimum length=1. Maximum length=256 */
    Description?: string;
    /** A URL with more information about the application, for example the location of your GitHub repository for the application. */
    HomePageUrl?: string;
    /** Labels to improve discovery of apps in search results.Minimum length=1. Maximum length=127. Maximum number of labels: 10Pattern: "^[a-zA-Z0-9+\\-_:\\/@]+$"; */
    Labels?: string[];
    /** A text readme file in Markdown language that contains a more detailed description of the application and how it works.Maximum size 5 MB */
    ReadmeBody?: string;
    /** A link to the readme file in Markdown language that contains a more detailed description of the application and how it works.Maximum size 5 MB */
    ReadmeUrl?: string;
}
/** ServerlessApplicationRepository service binding for Step Functions SDK integrations. */
export declare class ServerlessApplicationRepository {
    constructor();
    createApplication<T>(params: CreateApplicationInput): Promise<T>;
    createApplicationVersion<T>(params: CreateApplicationVersionInput): Promise<T>;
    createCloudFormationChangeSet<T>(params: CreateCloudFormationChangeSetInput): Promise<T>;
    createCloudFormationTemplate<T>(params: CreateCloudFormationTemplateInput): Promise<T>;
    deleteApplication<T>(params: DeleteApplicationInput): Promise<T>;
    getApplication<T>(params: GetApplicationInput): Promise<T>;
    getApplicationPolicy<T>(params: GetApplicationPolicyInput): Promise<T>;
    getCloudFormationTemplate<T>(params: GetCloudFormationTemplateInput): Promise<T>;
    listApplicationDependencies<T>(params: ListApplicationDependenciesInput): Promise<T>;
    listApplications<T>(params: ListApplicationsInput): Promise<T>;
    listApplicationVersions<T>(params: ListApplicationVersionsInput): Promise<T>;
    putApplicationPolicy<T>(params: PutApplicationPolicyInput): Promise<T>;
    unshareApplication<T>(params: UnshareApplicationInput): Promise<T>;
    updateApplication<T>(params: UpdateApplicationInput): Promise<T>;
}
//# sourceMappingURL=ServerlessApplicationRepository.d.ts.map