export interface CloudWatchLoggingOption {
    /** The ARN of the CloudWatch log to receive application messages. */
    LogStreamARN: string;
}
export interface InputProcessingConfiguration {
    /** The InputLambdaProcessor that is used to preprocess the records in the stream before being processed by your application code. */
    InputLambdaProcessor: any;
}
export interface KinesisStreamsInput {
    /** The ARN of the input Kinesis data stream to read. */
    ResourceARN: string;
}
export interface KinesisFirehoseInput {
    /** The Amazon Resource Name (ARN) of the delivery stream. */
    ResourceARN: string;
}
export interface InputParallelism {
    /** The number of in-application streams to create. */
    Count?: number;
}
export interface SourceSchema {
    /** Specifies the format of the records on the streaming source. */
    RecordFormat: any;
    /** Specifies the encoding of the records in the streaming source. For example, UTF-8. */
    RecordEncoding?: string;
    /** A list of RecordColumn objects. */
    RecordColumns: any[];
}
export interface Input {
    /** The name prefix to use when creating an in-application stream. Suppose that you specify a prefix "MyInApplicationStream." Kinesis Data Analytics then creates one or more (as per the InputParallelism c */
    NamePrefix: string;
    /** The InputProcessingConfiguration for the input. An input processor transforms records as they are received from the stream, before the application's SQL code executes. Currently, the only input proces */
    InputProcessingConfiguration?: InputProcessingConfiguration;
    /** If the streaming source is an Amazon Kinesis data stream, identifies the stream's Amazon Resource Name (ARN). */
    KinesisStreamsInput?: KinesisStreamsInput;
    /** If the streaming source is an Amazon Kinesis Data Firehose delivery stream, identifies the delivery stream's ARN. */
    KinesisFirehoseInput?: KinesisFirehoseInput;
    /** Describes the number of in-application streams to create. */
    InputParallelism?: InputParallelism;
    /** Describes the format of the data in the streaming source, and how each data element maps to corresponding columns in the in-application stream that is being created. Also used to describe the format o */
    InputSchema: SourceSchema;
}
export interface KinesisStreamsOutput {
    /** The ARN of the destination Kinesis data stream to write to. */
    ResourceARN: string;
}
export interface KinesisFirehoseOutput {
    /** The ARN of the destination delivery stream to write to. */
    ResourceARN: string;
}
export interface LambdaOutput {
    /** The Amazon Resource Name (ARN) of the destination Lambda function to write to. To specify an earlier version of the Lambda function than the latest, include the Lambda function version in the Lambda f */
    ResourceARN: string;
}
export interface DestinationSchema {
    /** Specifies the format of the records on the output stream. */
    RecordFormatType: 'JSON' | 'CSV';
}
export interface Output {
    /** The name of the in-application stream. */
    Name: string;
    /** Identifies a Kinesis data stream as the destination. */
    KinesisStreamsOutput?: KinesisStreamsOutput;
    /** Identifies a Kinesis Data Firehose delivery stream as the destination. */
    KinesisFirehoseOutput?: KinesisFirehoseOutput;
    /** Identifies an Amazon Lambda function as the destination. */
    LambdaOutput?: LambdaOutput;
    /** Describes the data format when records are written to the destination. */
    DestinationSchema: DestinationSchema;
}
export interface S3ReferenceDataSource {
    /** The Amazon Resource Name (ARN) of the S3 bucket. */
    BucketARN?: string;
    /** The object key name containing the reference data. */
    FileKey?: string;
}
export interface ReferenceDataSource {
    /** The name of the in-application table to create. */
    TableName: string;
    /** Identifies the S3 bucket and object that contains the reference data. A SQL-based Kinesis Data Analytics application loads reference data only once. If the data changes, you call the UpdateApplication */
    S3ReferenceDataSource?: S3ReferenceDataSource;
    /** Describes the format of the data in the streaming source, and how each data element maps to corresponding columns created in the in-application stream. */
    ReferenceSchema: SourceSchema;
}
export interface VpcConfiguration {
    /** The array of Subnet IDs used by the VPC configuration. */
    SubnetIds: string[];
    /** The array of SecurityGroup IDs used by the VPC configuration. */
    SecurityGroupIds: string[];
}
export interface SqlApplicationConfiguration {
    /** The array of Input objects describing the input streams used by the application. */
    Inputs?: any[];
    /** The array of Output objects describing the destination streams used by the application. */
    Outputs?: any[];
    /** The array of ReferenceDataSource objects describing the reference data sources used by the application. */
    ReferenceDataSources?: any[];
}
export interface FlinkApplicationConfiguration {
    /** Describes an application's checkpointing configuration. Checkpointing is the process of persisting application state for fault tolerance. For more information, see Checkpoints for Fault Tolerance in t */
    CheckpointConfiguration?: any;
    /** Describes configuration parameters for Amazon CloudWatch logging for an application. */
    MonitoringConfiguration?: any;
    /** Describes parameters for how an application executes multiple tasks simultaneously. */
    ParallelismConfiguration?: any;
}
export interface EnvironmentProperties {
    /** Describes the execution property groups. */
    PropertyGroups: any[];
}
export interface ApplicationCodeConfiguration {
    /** The location and type of the application code. */
    CodeContent?: any;
    /** Specifies whether the code content is in text or zip format. */
    CodeContentType: 'PLAINTEXT' | 'ZIPFILE';
}
export interface ApplicationSnapshotConfiguration {
    /** Describes whether snapshots are enabled for a Managed Service for Apache Flink application. */
    SnapshotsEnabled: boolean;
}
export interface ApplicationSystemRollbackConfiguration {
    /** Describes whether system rollbacks are enabled for a Managed Service for Apache Flink application. */
    RollbackEnabled: boolean;
}
export interface ZeppelinApplicationConfiguration {
    /** The monitoring configuration of a Managed Service for Apache Flink Studio notebook. */
    MonitoringConfiguration?: any;
    /** The Amazon Glue Data Catalog that you use in queries in a Managed Service for Apache Flink Studio notebook. */
    CatalogConfiguration?: any;
    /** The information required to deploy a Managed Service for Apache Flink Studio notebook as an application with durable state. */
    DeployAsApplicationConfiguration?: any;
    /** Custom artifacts are dependency JARs and user-defined functions (UDF). */
    CustomArtifactsConfiguration?: any[];
}
export interface ApplicationEncryptionConfiguration {
    /** The key ARN, key ID, alias ARN, or alias name of the KMS key used for encryption at rest. */
    KeyId?: string;
    /** Specifies the type of key used for encryption at rest. */
    KeyType: 'AWS_OWNED_KEY' | 'CUSTOMER_MANAGED_KEY';
}
export interface ApplicationConfiguration {
    /** The creation and update parameters for a SQL-based Kinesis Data Analytics application. */
    SqlApplicationConfiguration?: SqlApplicationConfiguration;
    /** The creation and update parameters for a Managed Service for Apache Flink application. */
    FlinkApplicationConfiguration?: FlinkApplicationConfiguration;
    /** Describes execution properties for a Managed Service for Apache Flink application. */
    EnvironmentProperties?: EnvironmentProperties;
    /** The code location and type parameters for a Managed Service for Apache Flink application. */
    ApplicationCodeConfiguration?: ApplicationCodeConfiguration;
    /** Describes whether snapshots are enabled for a Managed Service for Apache Flink application. */
    ApplicationSnapshotConfiguration?: ApplicationSnapshotConfiguration;
    /** Describes whether system rollbacks are enabled for a Managed Service for Apache Flink application. */
    ApplicationSystemRollbackConfiguration?: ApplicationSystemRollbackConfiguration;
    /** The array of descriptions of VPC configurations available to the application. */
    VpcConfigurations?: any[];
    /** The configuration parameters for a Managed Service for Apache Flink Studio notebook. */
    ZeppelinApplicationConfiguration?: ZeppelinApplicationConfiguration;
    /** The configuration to manage encryption at rest. */
    ApplicationEncryptionConfiguration?: ApplicationEncryptionConfiguration;
}
export interface Tag {
    /** The key of the key-value tag. */
    Key: string;
    /** The value of the key-value tag. The value is optional. */
    Value?: string;
}
export interface InputStartingPositionConfiguration {
    /** The starting position on the stream. NOW - Start reading just after the most recent record in the stream, and start at the request timestamp that the customer issued. TRIM_HORIZON - Start reading at t */
    InputStartingPosition?: 'NOW' | 'TRIM_HORIZON' | 'LAST_STOPPED_POINT';
}
export interface S3Configuration {
    /** The ARN of the S3 bucket that contains the data. */
    BucketARN: string;
    /** The name of the object that contains the data. */
    FileKey: string;
}
export interface FlinkRunConfiguration {
    /** When restoring from a snapshot, specifies whether the runtime is allowed to skip a state that cannot be mapped to the new program. This will happen if the program is updated between snapshots to remov */
    AllowNonRestoredState?: boolean;
}
export interface ApplicationRestoreConfiguration {
    /** Specifies how the application should be restored. */
    ApplicationRestoreType: 'SKIP_RESTORE_FROM_SNAPSHOT' | 'RESTORE_FROM_LATEST_SNAPSHOT' | 'RESTORE_FROM_CUSTOM_SNAPSHOT';
    /** The identifier of an existing snapshot of application state to use to restart an application. The application uses this value if RESTORE_FROM_CUSTOM_SNAPSHOT is specified for the ApplicationRestoreTyp */
    SnapshotName?: string;
}
export interface RunConfiguration {
    /** Describes the starting parameters for a Managed Service for Apache Flink application. */
    FlinkRunConfiguration?: FlinkRunConfiguration;
    /** Describes the starting parameters for a SQL-based Kinesis Data Analytics application application. */
    SqlRunConfigurations?: any[];
    /** Describes the restore behavior of a restarting application. */
    ApplicationRestoreConfiguration?: ApplicationRestoreConfiguration;
}
export interface SqlApplicationConfigurationUpdate {
    /** The array of InputUpdate objects describing the new input streams used by the application. */
    InputUpdates?: any[];
    /** The array of OutputUpdate objects describing the new destination streams used by the application. */
    OutputUpdates?: any[];
    /** The array of ReferenceDataSourceUpdate objects describing the new reference data sources used by the application. */
    ReferenceDataSourceUpdates?: any[];
}
export interface ApplicationCodeConfigurationUpdate {
    /** Describes updates to the code content type. */
    CodeContentTypeUpdate?: 'PLAINTEXT' | 'ZIPFILE';
    /** Describes updates to the code content of an application. */
    CodeContentUpdate?: any;
}
export interface FlinkApplicationConfigurationUpdate {
    /** Describes updates to an application's checkpointing configuration. Checkpointing is the process of persisting application state for fault tolerance. */
    CheckpointConfigurationUpdate?: any;
    /** Describes updates to the configuration parameters for Amazon CloudWatch logging for an application. */
    MonitoringConfigurationUpdate?: any;
    /** Describes updates to the parameters for how an application executes multiple tasks simultaneously. */
    ParallelismConfigurationUpdate?: any;
}
export interface EnvironmentPropertyUpdates {
    /** Describes updates to the execution property groups. */
    PropertyGroups: any[];
}
export interface ApplicationSnapshotConfigurationUpdate {
    /** Describes updates to whether snapshots are enabled for an application. */
    SnapshotsEnabledUpdate: boolean;
}
export interface ApplicationSystemRollbackConfigurationUpdate {
    /** Describes whether system rollbacks are enabled for a Managed Service for Apache Flink application. */
    RollbackEnabledUpdate: boolean;
}
export interface ZeppelinApplicationConfigurationUpdate {
    /** Updates to the monitoring configuration of a Managed Service for Apache Flink Studio notebook. */
    MonitoringConfigurationUpdate?: any;
    /** Updates to the configuration of the Amazon Glue Data Catalog that is associated with the Managed Service for Apache Flink Studio notebook. */
    CatalogConfigurationUpdate?: any;
    DeployAsApplicationConfigurationUpdate?: any;
    /** Updates to the customer artifacts. Custom artifacts are dependency JAR files and user-defined functions (UDF). */
    CustomArtifactsConfigurationUpdate?: any[];
}
export interface ApplicationEncryptionConfigurationUpdate {
    /** The key ARN, key ID, alias ARN, or alias name of the KMS key to be used for encryption at rest. */
    KeyIdUpdate?: string;
    /** Specifies the type of key to be used for encryption at rest. */
    KeyTypeUpdate: 'AWS_OWNED_KEY' | 'CUSTOMER_MANAGED_KEY';
}
export interface ApplicationConfigurationUpdate {
    /** Describes updates to a SQL-based Kinesis Data Analytics application's configuration. */
    SqlApplicationConfigurationUpdate?: SqlApplicationConfigurationUpdate;
    /** Describes updates to an application's code configuration. */
    ApplicationCodeConfigurationUpdate?: ApplicationCodeConfigurationUpdate;
    /** Describes updates to a Managed Service for Apache Flink application's configuration. */
    FlinkApplicationConfigurationUpdate?: FlinkApplicationConfigurationUpdate;
    /** Describes updates to the environment properties for a Managed Service for Apache Flink application. */
    EnvironmentPropertyUpdates?: EnvironmentPropertyUpdates;
    /** Describes whether snapshots are enabled for a Managed Service for Apache Flink application. */
    ApplicationSnapshotConfigurationUpdate?: ApplicationSnapshotConfigurationUpdate;
    /** Describes whether system rollbacks are enabled for a Managed Service for Apache Flink application. */
    ApplicationSystemRollbackConfigurationUpdate?: ApplicationSystemRollbackConfigurationUpdate;
    /** Updates to the array of descriptions of VPC configurations available to the application. */
    VpcConfigurationUpdates?: any[];
    /** Updates to the configuration of a Managed Service for Apache Flink Studio notebook. */
    ZeppelinApplicationConfigurationUpdate?: ZeppelinApplicationConfigurationUpdate;
    /** Represents an update for encryption at rest configuration. */
    ApplicationEncryptionConfigurationUpdate?: ApplicationEncryptionConfigurationUpdate;
}
export interface RunConfigurationUpdate {
    /** Describes the starting parameters for a Managed Service for Apache Flink application. */
    FlinkRunConfiguration?: FlinkRunConfiguration;
    /** Describes updates to the restore behavior of a restarting application. */
    ApplicationRestoreConfiguration?: ApplicationRestoreConfiguration;
}
export interface CloudWatchLoggingOptionUpdate {
    /** The ID of the CloudWatch logging option to update */
    CloudWatchLoggingOptionId: string;
    /** The Amazon Resource Name (ARN) of the CloudWatch log to receive application messages. */
    LogStreamARNUpdate?: string;
}
export interface ApplicationMaintenanceConfigurationUpdate {
    /** The updated start time for the maintenance window. */
    ApplicationMaintenanceWindowStartTimeUpdate: string;
}
export interface AddApplicationCloudWatchLoggingOptionInput {
    /** The Kinesis Data Analytics application name. */
    ApplicationName: string;
    /** Provides the Amazon CloudWatch log stream Amazon Resource Name (ARN). */
    CloudWatchLoggingOption: CloudWatchLoggingOption;
    /** A value you use to implement strong concurrency for application updates. You must provide the CurrentApplicationVersionId or the ConditionalToken. You get the application's current ConditionalToken us */
    ConditionalToken?: string;
    /** The version ID of the SQL-based Kinesis Data Analytics application. You must provide the CurrentApplicationVersionId or the ConditionalToken.You can retrieve the application version ID using DescribeA */
    CurrentApplicationVersionId?: number;
}
export interface AddApplicationInputInput {
    /** The name of your existing application to which you want to add the streaming source. */
    ApplicationName: string;
    /** The current version of your application. You must provide the ApplicationVersionID or the ConditionalToken.You can use the DescribeApplication operation to find the current application version. */
    CurrentApplicationVersionId: number;
    /** The Input to add. */
    Input: Input;
}
export interface AddApplicationInputProcessingConfigurationInput {
    /** The name of the application to which you want to add the input processing configuration. */
    ApplicationName: string;
    /** The version of the application to which you want to add the input processing configuration. You can use the DescribeApplication operation to get the current application version. If the version specifi */
    CurrentApplicationVersionId: number;
    /** The ID of the input configuration to add the input processing configuration to. You can get a list of the input IDs for an application using the DescribeApplication operation. */
    InputId: string;
    /** The InputProcessingConfiguration to add to the application. */
    InputProcessingConfiguration: InputProcessingConfiguration;
}
export interface AddApplicationOutputInput {
    /** The name of the application to which you want to add the output configuration. */
    ApplicationName: string;
    /** The version of the application to which you want to add the output configuration. You can use the DescribeApplication operation to get the current application version. If the version specified is not  */
    CurrentApplicationVersionId: number;
    /** An array of objects, each describing one output configuration. In the output configuration, you specify the name of an in-application stream, a destination (that is, a Kinesis data stream, a Kinesis D */
    Output: Output;
}
export interface AddApplicationReferenceDataSourceInput {
    /** The name of an existing application. */
    ApplicationName: string;
    /** The version of the application for which you are adding the reference data source. You can use the DescribeApplication operation to get the current application version. If the version specified is not */
    CurrentApplicationVersionId: number;
    /** The reference data source can be an object in your Amazon S3 bucket. Kinesis Data Analytics reads the object and copies the data into the in-application table that is created. You provide an S3 bucket */
    ReferenceDataSource: ReferenceDataSource;
}
export interface AddApplicationVpcConfigurationInput {
    /** The name of an existing application. */
    ApplicationName: string;
    /** Description of the VPC to add to the application. */
    VpcConfiguration: VpcConfiguration;
    /** A value you use to implement strong concurrency for application updates. You must provide the ApplicationVersionID or the ConditionalToken. You get the application's current ConditionalToken using Des */
    ConditionalToken?: string;
    /** The version of the application to which you want to add the VPC configuration. You must provide the CurrentApplicationVersionId or the ConditionalToken. You can use the DescribeApplication operation t */
    CurrentApplicationVersionId?: number;
}
export interface CreateApplicationInput {
    /** The name of your application (for example, sample-app). */
    ApplicationName: string;
    /** The runtime environment for the application. */
    RuntimeEnvironment: 'SQL-1_0' | 'FLINK-1_6' | 'FLINK-1_8' | 'ZEPPELIN-FLINK-1_0' | 'FLINK-1_11' | 'FLINK-1_13' | 'ZEPPELIN-FLINK-2_0' | 'FLINK-1_15' | 'ZEPPELIN-FLINK-3_0' | 'FLINK-1_18' | 'FLINK-1_19' | 'FLINK-1_20';
    /** The IAM role used by the application to access Kinesis data streams, Kinesis Data Firehose delivery streams, Amazon S3 objects, and other external resources. */
    ServiceExecutionRole: string;
    /** Use this parameter to configure the application. */
    ApplicationConfiguration?: ApplicationConfiguration;
    /** A summary description of the application. */
    ApplicationDescription?: string;
    /** Use the STREAMING mode to create a Managed Service for Apache Flink application. To create a Managed Service for Apache Flink Studio notebook, use the INTERACTIVE mode. */
    ApplicationMode?: 'STREAMING' | 'INTERACTIVE';
    /** Use this parameter to configure an Amazon CloudWatch log stream to monitor application configuration errors. */
    CloudWatchLoggingOptions?: CloudWatchLoggingOption[];
    /** A list of one or more tags to assign to the application. A tag is a key-value pair that identifies an application. Note that the maximum number of application tags includes system tags. The maximum nu */
    Tags?: Tag[];
}
export interface CreateApplicationPresignedUrlInput {
    /** The name of the application. */
    ApplicationName: string;
    /** The type of the extension for which to create and return a URL. Currently, the only valid extension URL type is FLINK_DASHBOARD_URL. */
    UrlType: 'FLINK_DASHBOARD_URL' | 'ZEPPELIN_UI_URL';
    /** The duration in seconds for which the returned URL will be valid. */
    SessionExpirationDurationInSeconds?: number;
}
export interface CreateApplicationSnapshotInput {
    /** The name of an existing application */
    ApplicationName: string;
    /** An identifier for the application snapshot. */
    SnapshotName: string;
}
export interface DeleteApplicationInput {
    /** The name of the application to delete. */
    ApplicationName: string;
    /** Use the DescribeApplication operation to get this value. */
    CreateTimestamp: string;
}
export interface DeleteApplicationCloudWatchLoggingOptionInput {
    /** The application name. */
    ApplicationName: string;
    /** The CloudWatchLoggingOptionId of the Amazon CloudWatch logging option to delete. You can get the CloudWatchLoggingOptionId by using the DescribeApplication operation. */
    CloudWatchLoggingOptionId: string;
    /** A value you use to implement strong concurrency for application updates. You must provide the CurrentApplicationVersionId or the ConditionalToken. You get the application's current ConditionalToken us */
    ConditionalToken?: string;
    /** The version ID of the application. You must provide the CurrentApplicationVersionId or the ConditionalToken. You can retrieve the application version ID using DescribeApplication. For better concurren */
    CurrentApplicationVersionId?: number;
}
export interface DeleteApplicationInputProcessingConfigurationInput {
    /** The name of the application. */
    ApplicationName: string;
    /** The application version. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException  */
    CurrentApplicationVersionId: number;
    /** The ID of the input configuration from which to delete the input processing configuration. You can get a list of the input IDs for an application by using the DescribeApplication operation. */
    InputId: string;
}
export interface DeleteApplicationOutputInput {
    /** The application name. */
    ApplicationName: string;
    /** The application version. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException  */
    CurrentApplicationVersionId: number;
    /** The ID of the configuration to delete. Each output configuration that is added to the application (either when the application is created or later) using the AddApplicationOutput operation has a uniqu */
    OutputId: string;
}
export interface DeleteApplicationReferenceDataSourceInput {
    /** The name of an existing application. */
    ApplicationName: string;
    /** The current application version. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationEx */
    CurrentApplicationVersionId: number;
    /** The ID of the reference data source. When you add a reference data source to your application using the AddApplicationReferenceDataSource, Kinesis Data Analytics assigns an ID. You can use the Describ */
    ReferenceId: string;
}
export interface DeleteApplicationSnapshotInput {
    /** The name of an existing application. */
    ApplicationName: string;
    /** The creation timestamp of the application snapshot to delete. You can retrieve this value using or . */
    SnapshotCreationTimestamp: string;
    /** The identifier for the snapshot delete. */
    SnapshotName: string;
}
export interface DeleteApplicationVpcConfigurationInput {
    /** The name of an existing application. */
    ApplicationName: string;
    /** The ID of the VPC configuration to delete. */
    VpcConfigurationId: string;
    /** A value you use to implement strong concurrency for application updates. You must provide the CurrentApplicationVersionId or the ConditionalToken. You get the application's current ConditionalToken us */
    ConditionalToken?: string;
    /** The current application version ID. You must provide the CurrentApplicationVersionId or the ConditionalToken. You can retrieve the application version ID using DescribeApplication. For better concurre */
    CurrentApplicationVersionId?: number;
}
export interface DescribeApplicationInput {
    /** The name of the application. */
    ApplicationName: string;
    /** Displays verbose information about a Managed Service for Apache Flink application, including the application's job plan. */
    IncludeAdditionalDetails?: boolean;
}
/** A request for information about a specific operation that was performed on a Managed Service for Apache Flink application. */
export interface DescribeApplicationOperationInput {
    ApplicationName: string;
    OperationId: string;
}
export interface DescribeApplicationSnapshotInput {
    /** The name of an existing application. */
    ApplicationName: string;
    /** The identifier of an application snapshot. You can retrieve this value using . */
    SnapshotName: string;
}
export interface DescribeApplicationVersionInput {
    /** The name of the application for which you want to get the version description. */
    ApplicationName: string;
    /** The ID of the application version for which you want to get the description. */
    ApplicationVersionId: number;
}
export interface DiscoverInputSchemaInput {
    /** The ARN of the role that is used to access the streaming source. */
    ServiceExecutionRole: string;
    /** The InputProcessingConfiguration to use to preprocess the records before discovering the schema of the records. */
    InputProcessingConfiguration?: InputProcessingConfiguration;
    /** The point at which you want Kinesis Data Analytics to start reading records from the specified streaming source for discovery purposes. */
    InputStartingPositionConfiguration?: InputStartingPositionConfiguration;
    /** The Amazon Resource Name (ARN) of the streaming source. */
    ResourceARN?: string;
    /** Specify this parameter to discover a schema from data in an Amazon S3 object. */
    S3Configuration?: S3Configuration;
}
/** A request for a list of operations performed on an application. */
export interface ListApplicationOperationsInput {
    ApplicationName: string;
    Limit?: number;
    NextToken?: string;
    Operation?: string;
    OperationStatus?: 'IN_PROGRESS' | 'CANCELLED' | 'SUCCESSFUL' | 'FAILED';
}
export interface ListApplicationsInput {
    /** The maximum number of applications to list. */
    Limit?: number;
    /** If a previous command returned a pagination token, pass it into this value to retrieve the next set of results. For more information about pagination, see Using the Amazon Command Line Interface's Pag */
    NextToken?: string;
}
export interface ListApplicationSnapshotsInput {
    /** The name of an existing application. */
    ApplicationName: string;
    /** The maximum number of application snapshots to list. */
    Limit?: number;
    /** Use this parameter if you receive a NextToken response in a previous request that indicates that there is more output available. Set it to the value of the previous call's NextToken response to indica */
    NextToken?: string;
}
export interface ListApplicationVersionsInput {
    /** The name of the application for which you want to list all versions. */
    ApplicationName: string;
    /** The maximum number of versions to list in this invocation of the operation. */
    Limit?: number;
    /** If a previous invocation of this operation returned a pagination token, pass it into this value to retrieve the next set of results. For more information about pagination, see Using the Amazon Command */
    NextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The ARN of the application for which to retrieve tags. */
    ResourceARN: string;
}
export interface RollbackApplicationInput {
    /** The name of the application. */
    ApplicationName: string;
    /** The current application version ID. You can retrieve the application version ID using DescribeApplication. */
    CurrentApplicationVersionId: number;
}
export interface StartApplicationInput {
    /** The name of the application. */
    ApplicationName: string;
    /** Identifies the run configuration (start parameters) of a Managed Service for Apache Flink application. */
    RunConfiguration?: RunConfiguration;
}
export interface StopApplicationInput {
    /** The name of the running application to stop. */
    ApplicationName: string;
    /** Set to true to force the application to stop. If you set Force to true, Managed Service for Apache Flink stops the application without taking a snapshot. Force-stopping your application may lead to da */
    Force?: boolean;
}
export interface TagResourceInput {
    /** The ARN of the application to assign the tags. */
    ResourceARN: string;
    /** The key-value tags to assign to the application. */
    Tags: Tag[];
}
export interface UntagResourceInput {
    /** The ARN of the Managed Service for Apache Flink application from which to remove the tags. */
    ResourceARN: string;
    /** A list of keys of tags to remove from the specified application. */
    TagKeys: string[];
}
export interface UpdateApplicationInput {
    /** The name of the application to update. */
    ApplicationName: string;
    /** Describes application configuration updates. */
    ApplicationConfigurationUpdate?: ApplicationConfigurationUpdate;
    /** Describes application Amazon CloudWatch logging option updates. You can only update existing CloudWatch logging options with this action. To add a new CloudWatch logging option, use AddApplicationClou */
    CloudWatchLoggingOptionUpdates?: CloudWatchLoggingOptionUpdate[];
    /** A value you use to implement strong concurrency for application updates. You must provide the CurrentApplicationVersionId or the ConditionalToken. You get the application's current ConditionalToken us */
    ConditionalToken?: string;
    /** The current application version ID. You must provide the CurrentApplicationVersionId or the ConditionalToken.You can retrieve the application version ID using DescribeApplication. For better concurren */
    CurrentApplicationVersionId?: number;
    /** Describes updates to the application's starting parameters. */
    RunConfigurationUpdate?: RunConfigurationUpdate;
    /** Updates the Managed Service for Apache Flink runtime environment used to run your code. To avoid issues you must: Ensure your new jar and dependencies are compatible with the new runtime selected. Ens */
    RuntimeEnvironmentUpdate?: 'SQL-1_0' | 'FLINK-1_6' | 'FLINK-1_8' | 'ZEPPELIN-FLINK-1_0' | 'FLINK-1_11' | 'FLINK-1_13' | 'ZEPPELIN-FLINK-2_0' | 'FLINK-1_15' | 'ZEPPELIN-FLINK-3_0' | 'FLINK-1_18' | 'FLINK-1_19' | 'FLINK-1_20';
    /** Describes updates to the service execution role. */
    ServiceExecutionRoleUpdate?: string;
}
export interface UpdateApplicationMaintenanceConfigurationInput {
    /** Describes the application maintenance configuration update. */
    ApplicationMaintenanceConfigurationUpdate: ApplicationMaintenanceConfigurationUpdate;
    /** The name of the application for which you want to update the maintenance configuration. */
    ApplicationName: string;
}
/** Kinesis Analytics V2 service binding for Step Functions SDK integrations. */
export declare class KinesisAnalyticsV2 {
    constructor();
    addApplicationCloudWatchLoggingOption<T>(params: AddApplicationCloudWatchLoggingOptionInput): Promise<T>;
    addApplicationInput<T>(params: AddApplicationInputInput): Promise<T>;
    addApplicationInputProcessingConfiguration<T>(params: AddApplicationInputProcessingConfigurationInput): Promise<T>;
    addApplicationOutput<T>(params: AddApplicationOutputInput): Promise<T>;
    addApplicationReferenceDataSource<T>(params: AddApplicationReferenceDataSourceInput): Promise<T>;
    addApplicationVpcConfiguration<T>(params: AddApplicationVpcConfigurationInput): Promise<T>;
    createApplication<T>(params: CreateApplicationInput): Promise<T>;
    createApplicationPresignedUrl<T>(params: CreateApplicationPresignedUrlInput): Promise<T>;
    createApplicationSnapshot<T>(params: CreateApplicationSnapshotInput): Promise<T>;
    deleteApplication<T>(params: DeleteApplicationInput): Promise<T>;
    deleteApplicationCloudWatchLoggingOption<T>(params: DeleteApplicationCloudWatchLoggingOptionInput): Promise<T>;
    deleteApplicationInputProcessingConfiguration<T>(params: DeleteApplicationInputProcessingConfigurationInput): Promise<T>;
    deleteApplicationOutput<T>(params: DeleteApplicationOutputInput): Promise<T>;
    deleteApplicationReferenceDataSource<T>(params: DeleteApplicationReferenceDataSourceInput): Promise<T>;
    deleteApplicationSnapshot<T>(params: DeleteApplicationSnapshotInput): Promise<T>;
    deleteApplicationVpcConfiguration<T>(params: DeleteApplicationVpcConfigurationInput): Promise<T>;
    describeApplication<T>(params: DescribeApplicationInput): Promise<T>;
    describeApplicationOperation<T>(params: DescribeApplicationOperationInput): Promise<T>;
    describeApplicationSnapshot<T>(params: DescribeApplicationSnapshotInput): Promise<T>;
    describeApplicationVersion<T>(params: DescribeApplicationVersionInput): Promise<T>;
    discoverInputSchema<T>(params: DiscoverInputSchemaInput): Promise<T>;
    listApplicationOperations<T>(params: ListApplicationOperationsInput): Promise<T>;
    listApplications<T>(params: ListApplicationsInput): Promise<T>;
    listApplicationSnapshots<T>(params: ListApplicationSnapshotsInput): Promise<T>;
    listApplicationVersions<T>(params: ListApplicationVersionsInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    rollbackApplication<T>(params: RollbackApplicationInput): Promise<T>;
    startApplication<T>(params: StartApplicationInput): Promise<T>;
    stopApplication<T>(params: StopApplicationInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateApplication<T>(params: UpdateApplicationInput): Promise<T>;
    updateApplicationMaintenanceConfiguration<T>(params: UpdateApplicationMaintenanceConfigurationInput): Promise<T>;
}
//# sourceMappingURL=KinesisAnalyticsV2.d.ts.map