export interface Filter {
    /** The name of the filter. Filter names are case-sensitive. */
    Name: string;
    /** The filter values. Filter values are case-sensitive. If you specify multiple values for a filter, the values are joined with an OR, and the request returns all results that match any of the specified  */
    Value: string;
    /** The operator for the filter. */
    Operator: 'Equals' | 'GreaterThanOrEquals' | 'LessThanOrEquals';
}
export interface ApplicationCredential {
    /** The name of the SAP HANA database. */
    DatabaseName: string;
    /** The type of the application credentials. */
    CredentialType: 'ADMIN';
    /** The secret ID created in AWS Secrets Manager to store the credentials of the SAP application. */
    SecretId: string;
}
export interface ComponentInfo {
    /** This string is the type of the component. Accepted value is WD. */
    ComponentType: 'HANA' | 'HANA_NODE' | 'ABAP' | 'ASCS' | 'DIALOG' | 'WEBDISP' | 'WD' | 'ERS';
    /** This string is the SAP System ID of the component. Accepted values are alphanumeric. */
    Sid: string;
    /** This is the Amazon EC2 instance on which your SAP component is running. Accepted values are alphanumeric. */
    Ec2InstanceId: string;
}
export interface BackintConfig {
    /** AWS service for your database backup. */
    BackintMode: 'AWSBackup';
    EnsureNoBackupInProcess: boolean;
}
export interface DeleteResourcePermissionInput {
    /** The Amazon Resource Name (ARN) of the resource. */
    ResourceArn: string;
    /** Delete or restore the permissions on the target database. */
    ActionType?: 'RESTORE';
    /** The Amazon Resource Name (ARN) of the source resource. */
    SourceResourceArn?: string;
}
export interface DeregisterApplicationInput {
    /** The ID of the application. */
    ApplicationId: string;
}
export interface GetApplicationInput {
    /** The Amazon Resource Name (ARN) of the application. */
    ApplicationArn?: string;
    /** The ID of the application. */
    ApplicationId?: string;
    /** The Amazon Resource Name (ARN) of the application registry. */
    AppRegistryArn?: string;
}
export interface GetComponentInput {
    /** The ID of the application. */
    ApplicationId: string;
    /** The ID of the component. */
    ComponentId: string;
}
export interface GetConfigurationCheckOperationInput {
    /** The ID of the configuration check operation. */
    OperationId: string;
}
export interface GetDatabaseInput {
    /** The ID of the application. */
    ApplicationId?: string;
    /** The ID of the component. */
    ComponentId?: string;
    /** The Amazon Resource Name (ARN) of the database. */
    DatabaseArn?: string;
    /** The ID of the database. */
    DatabaseId?: string;
}
export interface GetOperationInput {
    /** The ID of the operation. */
    OperationId: string;
}
export interface GetResourcePermissionInput {
    /** The Amazon Resource Name (ARN) of the resource. */
    ResourceArn: string;
    ActionType?: 'RESTORE';
}
export interface ListApplicationsInput {
    /** The filter of name, value, and operator. */
    Filters?: Filter[];
    /** The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. */
    MaxResults?: number;
    /** The token for the next page of results. */
    NextToken?: string;
}
export interface ListComponentsInput {
    /** The ID of the application. */
    ApplicationId?: string;
    /** The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. If you do not specify a value for MaxResults, the re */
    MaxResults?: number;
    /** The token for the next page of results. */
    NextToken?: string;
}
export interface ListConfigurationCheckDefinitionsInput {
    /** The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. */
    MaxResults?: number;
    /** The token for the next page of results. */
    NextToken?: string;
}
export interface ListConfigurationCheckOperationsInput {
    /** The ID of the application. */
    ApplicationId: string;
    /** The filters of an operation. */
    Filters?: Filter[];
    /** The mode for listing configuration check operations. Defaults to "LATEST_PER_CHECK". LATEST_PER_CHECK - Will list the latest configuration check operation per check type. ALL_OPERATIONS - Will list al */
    ListMode?: 'ALL_OPERATIONS' | 'LATEST_PER_CHECK';
    /** The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. */
    MaxResults?: number;
    /** The token for the next page of results. */
    NextToken?: string;
}
export interface ListDatabasesInput {
    /** The ID of the application. */
    ApplicationId?: string;
    /** The ID of the component. */
    ComponentId?: string;
    /** The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. If you do not specify a value for MaxResults, the re */
    MaxResults?: number;
    /** The token for the next page of results. */
    NextToken?: string;
}
export interface ListOperationEventsInput {
    /** The ID of the operation. */
    OperationId: string;
    /** Optionally specify filters to narrow the returned operation event items. Valid filter names include status, resourceID, and resourceType. The valid operator for all three filters is Equals. */
    Filters?: Filter[];
    /** The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. If you do not specify a value for MaxResults, the re */
    MaxResults?: number;
    /** The token to use to retrieve the next page of results. This value is null when there are no more results to return. */
    NextToken?: string;
}
export interface ListOperationsInput {
    /** The ID of the application. */
    ApplicationId: string;
    /** The filters of an operation. */
    Filters?: Filter[];
    /** The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. If you do not specify a value for MaxResults, the re */
    MaxResults?: number;
    /** The token for the next page of results. */
    NextToken?: string;
}
export interface ListSubCheckResultsInput {
    /** The ID of the configuration check operation. */
    OperationId: string;
    /** The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. */
    MaxResults?: number;
    /** The token for the next page of results. */
    NextToken?: string;
}
export interface ListSubCheckRuleResultsInput {
    /** The ID of the sub check result. */
    SubCheckResultId: string;
    /** The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. */
    MaxResults?: number;
    /** The token for the next page of results. */
    NextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The Amazon Resource Name (ARN) of the resource. */
    resourceArn: string;
}
export interface PutResourcePermissionInput {
    ActionType: 'RESTORE';
    ResourceArn: string;
    SourceResourceArn: string;
}
export interface RegisterApplicationInput {
    /** The ID of the application. */
    ApplicationId: string;
    /** The type of the application. */
    ApplicationType: 'HANA' | 'SAP_ABAP';
    /** The Amazon EC2 instances on which your SAP application is running. */
    Instances: string[];
    /** This is an optional parameter for component details to which the SAP ABAP application is attached, such as Web Dispatcher. This is an array of ApplicationComponent objects. You may input 0 to 5 items. */
    ComponentsInfo?: ComponentInfo[];
    /** The credentials of the SAP application. */
    Credentials?: ApplicationCredential[];
    /** The Amazon Resource Name of the SAP HANA database. */
    DatabaseArn?: string;
    /** The SAP instance number of the application. */
    SapInstanceNumber?: string;
    /** The System ID of the application. */
    Sid?: string;
    /** The tags to be attached to the SAP application. */
    Tags?: Record<string, string>;
}
export interface StartApplicationInput {
    /** The ID of the application. */
    ApplicationId: string;
}
export interface StartApplicationRefreshInput {
    /** The ID of the application. */
    ApplicationId: string;
}
export interface StartConfigurationChecksInput {
    /** The ID of the application. */
    ApplicationId: string;
    /** The list of configuration checks to perform. */
    ConfigurationCheckIds?: 'SAP_CHECK_01' | 'SAP_CHECK_02' | 'SAP_CHECK_03'[];
}
export interface StopApplicationInput {
    /** The ID of the application. */
    ApplicationId: string;
    /** Boolean. If included and if set to True, the StopApplication operation will shut down the associated Amazon EC2 instance in addition to the application. */
    IncludeEc2InstanceShutdown?: boolean;
    /** Specify the ConnectedEntityType. Accepted type is DBMS. If this parameter is included, the connected DBMS (Database Management System) will be stopped. */
    StopConnectedEntity?: 'DBMS';
}
export interface TagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource. */
    resourceArn: string;
    /** The tags on a resource. */
    tags: Record<string, string>;
}
export interface UntagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource. */
    resourceArn: string;
    /** Adds/updates or removes credentials for applications registered with AWS Systems Manager for SAP. */
    tagKeys: string[];
}
export interface UpdateApplicationSettingsInput {
    /** The ID of the application. */
    ApplicationId: string;
    /** Installation of AWS Backint Agent for SAP HANA. */
    Backint?: BackintConfig;
    /** The credentials to be added or updated. */
    CredentialsToAddOrUpdate?: ApplicationCredential[];
    /** The credentials to be removed. */
    CredentialsToRemove?: ApplicationCredential[];
    /** The Amazon Resource Name of the SAP HANA database that replaces the current SAP HANA connection with the SAP_ABAP application. */
    DatabaseArn?: string;
}
/** Ssm Sap service binding for Step Functions SDK integrations. */
export declare class SsmSap {
    constructor();
    deleteResourcePermission<T>(params: DeleteResourcePermissionInput): Promise<T>;
    deregisterApplication<T>(params: DeregisterApplicationInput): Promise<T>;
    getApplication<T>(params: GetApplicationInput): Promise<T>;
    getComponent<T>(params: GetComponentInput): Promise<T>;
    getConfigurationCheckOperation<T>(params: GetConfigurationCheckOperationInput): Promise<T>;
    getDatabase<T>(params: GetDatabaseInput): Promise<T>;
    getOperation<T>(params: GetOperationInput): Promise<T>;
    getResourcePermission<T>(params: GetResourcePermissionInput): Promise<T>;
    listApplications<T>(params: ListApplicationsInput): Promise<T>;
    listComponents<T>(params: ListComponentsInput): Promise<T>;
    listConfigurationCheckDefinitions<T>(params: ListConfigurationCheckDefinitionsInput): Promise<T>;
    listConfigurationCheckOperations<T>(params: ListConfigurationCheckOperationsInput): Promise<T>;
    listDatabases<T>(params: ListDatabasesInput): Promise<T>;
    listOperationEvents<T>(params: ListOperationEventsInput): Promise<T>;
    listOperations<T>(params: ListOperationsInput): Promise<T>;
    listSubCheckResults<T>(params: ListSubCheckResultsInput): Promise<T>;
    listSubCheckRuleResults<T>(params: ListSubCheckRuleResultsInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    putResourcePermission<T>(params: PutResourcePermissionInput): Promise<T>;
    registerApplication<T>(params: RegisterApplicationInput): Promise<T>;
    startApplication<T>(params: StartApplicationInput): Promise<T>;
    startApplicationRefresh<T>(params: StartApplicationRefreshInput): Promise<T>;
    startConfigurationChecks<T>(params: StartConfigurationChecksInput): Promise<T>;
    stopApplication<T>(params: StopApplicationInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateApplicationSettings<T>(params: UpdateApplicationSettingsInput): Promise<T>;
}
//# sourceMappingURL=SsmSap.d.ts.map