export interface Tag {
    /** The key to use in the tag. */
    key: string;
    /** The value of the tag. */
    value: string;
}
export interface CreateSnapshotScheduleActionParameters {
    /** The name of the namespace for which you want to configure a scheduled action to create a snapshot. */
    namespaceName: string;
    /** A string prefix that is attached to the name of the snapshot created by the scheduled action. The final name of the snapshot is the string prefix appended by the date and time of when the snapshot was */
    snapshotNamePrefix: string;
    /** The retention period of the snapshot created by the scheduled action. */
    retentionPeriod?: number;
    /** An array of Tag objects to associate with the snapshot. */
    tags?: any[];
}
export interface ConfigParameter {
    /** The key of the parameter. The options are auto_mv, datestyle, enable_case_sensitive_identifier, enable_user_activity_logging, query_group, search_path, require_ssl, use_fips_ssl, and either wlm_json_c */
    parameterKey?: string;
    /** The value of the parameter to set. */
    parameterValue?: string;
}
export interface PerformanceTarget {
    /** Whether the price performance target is enabled for the workgroup. */
    status?: 'ENABLED' | 'DISABLED';
    /** The target price performance level for the workgroup. Valid values include 1, 25, 50, 75, and 100. These correspond to the price performance levels LOW_COST, ECONOMICAL, BALANCED, RESOURCEFUL, and HIG */
    level?: number;
}
export interface ConvertRecoveryPointToSnapshotInput {
    /** The unique identifier of the recovery point. */
    recoveryPointId: string;
    /** The name of the snapshot. */
    snapshotName: string;
    /** How long to retain the snapshot. */
    retentionPeriod?: number;
    /** An array of Tag objects to associate with the created snapshot. */
    tags?: Tag[];
}
export interface CreateCustomDomainAssociationInput {
    /** The custom domain name’s certificate Amazon resource name (ARN). */
    customDomainCertificateArn: string;
    /** The custom domain name to associate with the workgroup. */
    customDomainName: string;
    /** The name of the workgroup associated with the database. */
    workgroupName: string;
}
export interface CreateEndpointAccessInput {
    /** The name of the VPC endpoint. An endpoint name must contain 1-30 characters. Valid characters are A-Z, a-z, 0-9, and hyphen(-). The first character must be a letter. The name can't contain two consecu */
    endpointName: string;
    /** The unique identifers of subnets from which Amazon Redshift Serverless chooses one to deploy a VPC endpoint. */
    subnetIds: string[];
    /** The name of the workgroup to associate with the VPC endpoint. */
    workgroupName: string;
    /** The owner Amazon Web Services account for the Amazon Redshift Serverless workgroup. */
    ownerAccount?: string;
    /** The unique identifiers of the security group that defines the ports, protocols, and sources for inbound traffic that you are authorizing into your endpoint. */
    vpcSecurityGroupIds?: string[];
}
export interface CreateReservationInput {
    /** The number of Redshift Processing Units (RPUs) to reserve. */
    capacity: number;
    /** The ID of the offering associated with the reservation. The offering determines the payment schedule for the reservation. */
    offeringId: string;
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. This token must be a valid UUIDv4 valu */
    clientToken?: string;
}
export interface CreateScheduledActionInput {
    /** The name of the namespace for which to create a scheduled action. */
    namespaceName: string;
    /** The ARN of the IAM role to assume to run the scheduled action. This IAM role must have permission to run the Amazon Redshift Serverless API operation in the scheduled action. This IAM role must allow  */
    roleArn: string;
    /** The schedule for a one-time (at timestamp format) or recurring (cron format) scheduled action. Schedule invocations must be separated by at least one hour. Times are in UTC. Format of at timestamp is  */
    schedule: {
        at?: string;
    } | {
        cron?: string;
    };
    /** The name of the scheduled action. */
    scheduledActionName: string;
    targetAction: {
        createSnapshot?: CreateSnapshotScheduleActionParameters;
    };
    /** Indicates whether the schedule is enabled. If false, the scheduled action does not trigger. For more information about state of the scheduled action, see ScheduledAction. */
    enabled?: boolean;
    /** The end time in UTC when the schedule is no longer active. After this time, the scheduled action does not trigger. */
    endTime?: string;
    /** The description of the scheduled action. */
    scheduledActionDescription?: string;
    /** The start time in UTC when the schedule is active. Before this time, the scheduled action does not trigger. */
    startTime?: string;
}
export interface CreateSnapshotInput {
    /** The namespace to create a snapshot for. */
    namespaceName: string;
    /** The name of the snapshot. */
    snapshotName: string;
    /** How long to retain the created snapshot. */
    retentionPeriod?: number;
    /** An array of Tag objects to associate with the snapshot. */
    tags?: Tag[];
}
export interface CreateSnapshotCopyConfigurationInput {
    /** The destination Amazon Web Services Region that you want to copy snapshots to. */
    destinationRegion: string;
    /** The name of the namespace to copy snapshots from. */
    namespaceName: string;
    /** The KMS key to use to encrypt your snapshots in the destination Amazon Web Services Region. */
    destinationKmsKeyId?: string;
    /** The retention period of the snapshots that you copy to the destination Amazon Web Services Region. */
    snapshotRetentionPeriod?: number;
}
export interface CreateUsageLimitInput {
    /** The limit amount. If time-based, this amount is in Redshift Processing Units (RPU) consumed per hour. If data-based, this amount is in terabytes (TB) of data transferred between Regions in cross-accou */
    amount: number;
    /** The Amazon Resource Name (ARN) of the Amazon Redshift Serverless resource to create the usage limit for. */
    resourceArn: string;
    /** The type of Amazon Redshift Serverless usage to create a usage limit for. */
    usageType: 'serverless-compute' | 'cross-region-datasharing';
    /** The action that Amazon Redshift Serverless takes when the limit is reached. The default is log. */
    breachAction?: 'log' | 'emit-metric' | 'deactivate';
    /** The time period that the amount applies to. A weekly period begins on Sunday. The default is monthly. */
    period?: 'daily' | 'weekly' | 'monthly';
}
export interface DeleteCustomDomainAssociationInput {
    /** The custom domain name associated with the workgroup. */
    customDomainName: string;
    /** The name of the workgroup associated with the database. */
    workgroupName: string;
}
export interface DeleteEndpointAccessInput {
    /** The name of the VPC endpoint to delete. */
    endpointName: string;
}
export interface DeleteNamespaceInput {
    /** The name of the namespace to delete. */
    namespaceName: string;
    /** The name of the snapshot to be created before the namespace is deleted. */
    finalSnapshotName?: string;
    /** How long to retain the final snapshot. */
    finalSnapshotRetentionPeriod?: number;
}
export interface DeleteResourcePolicyInput {
    /** The Amazon Resource Name (ARN) of the policy to delete. */
    resourceArn: string;
}
export interface DeleteScheduledActionInput {
    /** The name of the scheduled action to delete. */
    scheduledActionName: string;
}
export interface DeleteSnapshotInput {
    /** The name of the snapshot to be deleted. */
    snapshotName: string;
}
export interface DeleteSnapshotCopyConfigurationInput {
    /** The ID of the snapshot copy configuration to delete. */
    snapshotCopyConfigurationId: string;
}
export interface DeleteUsageLimitInput {
    /** The unique identifier of the usage limit to delete. */
    usageLimitId: string;
}
export interface DeleteWorkgroupInput {
    /** The name of the workgroup to be deleted. */
    workgroupName: string;
}
export interface GetCredentialsInput {
    /** The custom domain name associated with the workgroup. The custom domain name or the workgroup name must be included in the request. */
    customDomainName?: string;
    /** The name of the database to get temporary authorization to log on to. Constraints: Must be 1 to 64 alphanumeric characters or hyphens. Must contain only uppercase or lowercase letters, numbers, unders */
    dbName?: string;
    /** The number of seconds until the returned temporary password expires. The minimum is 900 seconds, and the maximum is 3600 seconds. */
    durationSeconds?: number;
    /** The name of the workgroup associated with the database. */
    workgroupName?: string;
}
export interface GetCustomDomainAssociationInput {
    /** The custom domain name associated with the workgroup. */
    customDomainName: string;
    /** The name of the workgroup associated with the database. */
    workgroupName: string;
}
export interface GetEndpointAccessInput {
    /** The name of the VPC endpoint to return information for. */
    endpointName: string;
}
export interface GetIdentityCenterAuthTokenInput {
    /** A list of workgroup names for which to generate the Identity Center authentication token. Constraints: Must contain between 1 and 20 workgroup names. Each workgroup name must be a valid Amazon Redshif */
    workgroupNames: string[];
}
export interface GetNamespaceInput {
    /** The name of the namespace to retrieve information for. */
    namespaceName: string;
}
export interface GetRecoveryPointInput {
    /** The unique identifier of the recovery point to return information for. */
    recoveryPointId: string;
}
export interface GetReservationInput {
    /** The ID of the reservation to retrieve. */
    reservationId: string;
}
export interface GetReservationOfferingInput {
    /** The identifier for the offering.. */
    offeringId: string;
}
export interface GetResourcePolicyInput {
    /** The Amazon Resource Name (ARN) of the resource to return. */
    resourceArn: string;
}
export interface GetScheduledActionInput {
    /** The name of the scheduled action. */
    scheduledActionName: string;
}
export interface GetSnapshotInput {
    /** The owner Amazon Web Services account of a snapshot shared with another user. */
    ownerAccount?: string;
    /** The Amazon Resource Name (ARN) of the snapshot to return. */
    snapshotArn?: string;
    /** The name of the snapshot to return. */
    snapshotName?: string;
}
export interface GetTableRestoreStatusInput {
    /** The ID of the RestoreTableFromSnapshot request to return status for. */
    tableRestoreRequestId: string;
}
export interface GetTrackInput {
    /** The name of the track of which its version is fetched. */
    trackName: string;
}
export interface GetUsageLimitInput {
    /** The unique identifier of the usage limit to return information for. */
    usageLimitId: string;
}
export interface GetWorkgroupInput {
    /** The name of the workgroup to return information for. */
    workgroupName: string;
}
export interface ListCustomDomainAssociationsInput {
    /** The custom domain name’s certificate Amazon resource name (ARN). */
    customDomainCertificateArn?: string;
    /** The custom domain name associated with the workgroup. */
    customDomainName?: string;
    /** An optional parameter that specifies the maximum number of results to return. You can use nextToken to display the next page of results. */
    maxResults?: number;
    /** When nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. */
    nextToken?: string;
}
export interface ListEndpointAccessInput {
    /** An optional parameter that specifies the maximum number of results to return. You can use nextToken to display the next page of results. */
    maxResults?: number;
    /** If your initial ListEndpointAccess operation returns a nextToken, you can include the returned nextToken in following ListEndpointAccess operations, which returns results in the next page. */
    nextToken?: string;
    /** The owner Amazon Web Services account for the Amazon Redshift Serverless workgroup. */
    ownerAccount?: string;
    /** The unique identifier of the virtual private cloud with access to Amazon Redshift Serverless. */
    vpcId?: string;
    /** The name of the workgroup associated with the VPC endpoint to return. */
    workgroupName?: string;
}
export interface ListManagedWorkgroupsInput {
    /** An optional parameter that specifies the maximum number of results to return. You can use nextToken to display the next page of results. */
    maxResults?: number;
    /** If your initial ListManagedWorkgroups operation returns a nextToken, you can include the returned nextToken in following ListManagedWorkgroups operations, which returns results in the next page. */
    nextToken?: string;
    /** The Amazon Resource Name (ARN) for the managed workgroup in the Glue Data Catalog. */
    sourceArn?: string;
}
export interface ListNamespacesInput {
    /** An optional parameter that specifies the maximum number of results to return. You can use nextToken to display the next page of results. */
    maxResults?: number;
    /** If your initial ListNamespaces operation returns a nextToken, you can include the returned nextToken in following ListNamespaces operations, which returns results in the next page. */
    nextToken?: string;
}
export interface ListRecoveryPointsInput {
    /** The time when creation of the recovery point finished. */
    endTime?: string;
    /** An optional parameter that specifies the maximum number of results to return. You can use nextToken to display the next page of results. */
    maxResults?: number;
    /** The Amazon Resource Name (ARN) of the namespace from which to list recovery points. */
    namespaceArn?: string;
    /** The name of the namespace to list recovery points for. */
    namespaceName?: string;
    /** If your initial ListRecoveryPoints operation returns a nextToken, you can include the returned nextToken in following ListRecoveryPoints operations, which returns results in the next page. */
    nextToken?: string;
    /** The time when the recovery point's creation was initiated. */
    startTime?: string;
}
export interface ListReservationOfferingsInput {
    /** The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results. */
    maxResults?: number;
    /** The token for the next set of items to return. (You received this token from a previous call.) */
    nextToken?: string;
}
export interface ListReservationsInput {
    /** The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results. */
    maxResults?: number;
    /** The token for the next set of items to return. (You received this token from a previous call.) */
    nextToken?: string;
}
export interface ListScheduledActionsInput {
    /** An optional parameter that specifies the maximum number of results to return. Use nextToken to display the next page of results. */
    maxResults?: number;
    /** The name of namespace associated with the scheduled action to retrieve. */
    namespaceName?: string;
    /** If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. */
    nextToken?: string;
}
export interface ListSnapshotCopyConfigurationsInput {
    /** An optional parameter that specifies the maximum number of results to return. You can use nextToken to display the next page of results. */
    maxResults?: number;
    /** The namespace from which to list all snapshot copy configurations. */
    namespaceName?: string;
    /** If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. */
    nextToken?: string;
}
export interface ListSnapshotsInput {
    /** The timestamp showing when the snapshot creation finished. */
    endTime?: string;
    /** An optional parameter that specifies the maximum number of results to return. You can use nextToken to display the next page of results. */
    maxResults?: number;
    /** The Amazon Resource Name (ARN) of the namespace from which to list all snapshots. */
    namespaceArn?: string;
    /** The namespace from which to list all snapshots. */
    namespaceName?: string;
    /** If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. */
    nextToken?: string;
    /** The owner Amazon Web Services account of the snapshot. */
    ownerAccount?: string;
    /** The time when the creation of the snapshot was initiated. */
    startTime?: string;
}
export interface ListTableRestoreStatusInput {
    /** An optional parameter that specifies the maximum number of results to return. You can use nextToken to display the next page of results. */
    maxResults?: number;
    /** The namespace from which to list all of the statuses of RestoreTableFromSnapshot operations . */
    namespaceName?: string;
    /** If your initial ListTableRestoreStatus operation returns a nextToken, you can include the returned nextToken in following ListTableRestoreStatus operations. This will return results on the next page. */
    nextToken?: string;
    /** The workgroup from which to list all of the statuses of RestoreTableFromSnapshot operations. */
    workgroupName?: string;
}
export interface ListTagsForResourceInput {
    /** The Amazon Resource Name (ARN) of the resource to list tags for. */
    resourceArn: string;
}
export interface ListTracksInput {
    /** The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response */
    maxResults?: number;
    /** If your initial ListTracksRequest operation returns a nextToken, you can include the returned nextToken in following ListTracksRequest operations, which returns results in the next page. */
    nextToken?: string;
}
export interface ListUsageLimitsInput {
    /** An optional parameter that specifies the maximum number of results to return. You can use nextToken to get the next page of results. The default is 100. */
    maxResults?: number;
    /** If your initial ListUsageLimits operation returns a nextToken, you can include the returned nextToken in following ListUsageLimits operations, which returns results in the next page. */
    nextToken?: string;
    /** The Amazon Resource Name (ARN) associated with the resource whose usage limits you want to list. */
    resourceArn?: string;
    /** The Amazon Redshift Serverless feature whose limits you want to see. */
    usageType?: 'serverless-compute' | 'cross-region-datasharing';
}
export interface ListWorkgroupsInput {
    /** An optional parameter that specifies the maximum number of results to return. You can use nextToken to display the next page of results. */
    maxResults?: number;
    /** If your initial ListWorkgroups operation returns a nextToken, you can include the returned nextToken in following ListNamespaces operations, which returns results in the next page. */
    nextToken?: string;
    /** The owner Amazon Web Services account for the Amazon Redshift Serverless workgroup. */
    ownerAccount?: string;
}
export interface PutResourcePolicyInput {
    /** The policy to create or update. For example, the following policy grants a user authorization to restore a snapshot. "{\"Version\": \"2012-10-17\", \"Statement\" : [{ \"Sid\": \"AllowUserRestoreFromSn */
    policy: string;
    /** The Amazon Resource Name (ARN) of the account to create or update a resource policy for. */
    resourceArn: string;
}
export interface RestoreFromRecoveryPointInput {
    /** The name of the namespace to restore data into. */
    namespaceName: string;
    /** The unique identifier of the recovery point to restore from. */
    recoveryPointId: string;
    /** The name of the workgroup used to restore data. */
    workgroupName: string;
}
export interface RestoreFromSnapshotInput {
    /** The name of the namespace to restore the snapshot to. */
    namespaceName: string;
    /** The name of the workgroup used to restore the snapshot. */
    workgroupName: string;
    /** The ID of the Key Management Service (KMS) key used to encrypt and store the namespace's admin credentials secret. */
    adminPasswordSecretKmsKeyId?: string;
    /** If true, Amazon Redshift uses Secrets Manager to manage the restored snapshot's admin credentials. If MmanageAdminPassword is false or not set, Amazon Redshift uses the admin credentials that the name */
    manageAdminPassword?: boolean;
    /** The Amazon Web Services account that owns the snapshot. */
    ownerAccount?: string;
    /** The Amazon Resource Name (ARN) of the snapshot to restore from. Required if restoring from a provisioned cluster to Amazon Redshift Serverless. Must not be specified at the same time as snapshotName.  */
    snapshotArn?: string;
    /** The name of the snapshot to restore from. Must not be specified at the same time as snapshotArn. */
    snapshotName?: string;
}
export interface RestoreTableFromRecoveryPointInput {
    /** Namespace of the recovery point to restore from. */
    namespaceName: string;
    /** The name of the table to create from the restore operation. */
    newTableName: string;
    /** The ID of the recovery point to restore the table from. */
    recoveryPointId: string;
    /** The name of the source database that contains the table being restored. */
    sourceDatabaseName: string;
    /** The name of the source table being restored. */
    sourceTableName: string;
    /** The workgroup to restore the table to. */
    workgroupName: string;
    /** Indicates whether name identifiers for database, schema, and table are case sensitive. If true, the names are case sensitive. If false, the names are not case sensitive. The default is false. */
    activateCaseSensitiveIdentifier?: boolean;
    /** The name of the source schema that contains the table being restored. */
    sourceSchemaName?: string;
    /** The name of the database to restore the table to. */
    targetDatabaseName?: string;
    /** The name of the schema to restore the table to. */
    targetSchemaName?: string;
}
export interface RestoreTableFromSnapshotInput {
    /** The namespace of the snapshot to restore from. */
    namespaceName: string;
    /** The name of the table to create from the restore operation. */
    newTableName: string;
    /** The name of the snapshot to restore the table from. */
    snapshotName: string;
    /** The name of the source database that contains the table being restored. */
    sourceDatabaseName: string;
    /** The name of the source table being restored. */
    sourceTableName: string;
    /** The workgroup to restore the table to. */
    workgroupName: string;
    /** Indicates whether name identifiers for database, schema, and table are case sensitive. If true, the names are case sensitive. If false, the names are not case sensitive. The default is false. */
    activateCaseSensitiveIdentifier?: boolean;
    /** The name of the source schema that contains the table being restored. */
    sourceSchemaName?: string;
    /** The name of the database to restore the table to. */
    targetDatabaseName?: string;
    /** The name of the schema to restore the table to. */
    targetSchemaName?: string;
}
export interface TagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource to tag. */
    resourceArn: string;
    /** The map of the key-value pairs used to tag the resource. */
    tags: Tag[];
}
export interface UntagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource to remove tags from. */
    resourceArn: string;
    /** The tag or set of tags to remove from the resource. */
    tagKeys: string[];
}
export interface UpdateCustomDomainAssociationInput {
    /** The custom domain name’s certificate Amazon resource name (ARN). This is optional. */
    customDomainCertificateArn: string;
    /** The custom domain name associated with the workgroup. */
    customDomainName: string;
    /** The name of the workgroup associated with the database. */
    workgroupName: string;
}
export interface UpdateEndpointAccessInput {
    /** The name of the VPC endpoint to update. */
    endpointName: string;
    /** The list of VPC security groups associated with the endpoint after the endpoint is modified. */
    vpcSecurityGroupIds?: string[];
}
export interface UpdateLakehouseConfigurationInput {
    /** The name of the namespace whose lakehouse configuration you want to modify. */
    namespaceName: string;
    /** The name of the Glue Data Catalog that will be associated with the namespace enabled with Amazon Redshift federated permissions. Pattern: ^[a-z0-9_-]*[a-z]+[a-z0-9_-]*$ */
    catalogName?: string;
    /** A boolean value that, if true, validates the request without actually updating the lakehouse configuration. Use this to check for errors before making changes. */
    dryRun?: boolean;
    /** The Amazon Resource Name (ARN) of the IAM Identity Center application used for enabling Amazon Web Services IAM Identity Center trusted identity propagation on a namespace enabled with Amazon Redshift */
    lakehouseIdcApplicationArn?: string;
    /** Modifies the Amazon Web Services IAM Identity Center trusted identity propagation on a namespace enabled with Amazon Redshift federated permissions. Valid values are Associate or Disassociate. */
    lakehouseIdcRegistration?: 'Associate' | 'Disassociate';
    /** Specifies whether to register or deregister the namespace with Amazon Redshift federated permissions. Valid values are Register or Deregister. */
    lakehouseRegistration?: 'Register' | 'Deregister';
}
export interface UpdateNamespaceInput {
    /** The name of the namespace to update. You can't update the name of a namespace once it is created. */
    namespaceName: string;
    /** The ID of the Key Management Service (KMS) key used to encrypt and store the namespace's admin credentials secret. You can only use this parameter if manageAdminPassword is true. */
    adminPasswordSecretKmsKeyId?: string;
    /** The username of the administrator for the first database created in the namespace. This parameter must be updated together with adminUserPassword. */
    adminUsername?: string;
    /** The password of the administrator for the first database created in the namespace. This parameter must be updated together with adminUsername. You can't use adminUserPassword if manageAdminPassword is */
    adminUserPassword?: string;
    /** The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. This parameter must be updated together with iamRoles. */
    defaultIamRoleArn?: string;
    /** A list of IAM roles to associate with the namespace. This parameter must be updated together with defaultIamRoleArn. */
    iamRoles?: string[];
    /** The ID of the Amazon Web Services Key Management Service key used to encrypt your data. */
    kmsKeyId?: string;
    /** The types of logs the namespace can export. The export types are userlog, connectionlog, and useractivitylog. */
    logExports?: 'useractivitylog' | 'userlog' | 'connectionlog'[];
    /** If true, Amazon Redshift uses Secrets Manager to manage the namespace's admin credentials. You can't use adminUserPassword if manageAdminPassword is true. If manageAdminPassword is false or not set, A */
    manageAdminPassword?: boolean;
}
export interface UpdateScheduledActionInput {
    /** The name of the scheduled action to update to. */
    scheduledActionName: string;
    /** Specifies whether to enable the scheduled action. */
    enabled?: boolean;
    /** The end time in UTC of the scheduled action to update. */
    endTime?: string;
    /** The ARN of the IAM role to assume to run the scheduled action. This IAM role must have permission to run the Amazon Redshift Serverless API operation in the scheduled action. This IAM role must allow  */
    roleArn?: string;
    /** The schedule for a one-time (at timestamp format) or recurring (cron format) scheduled action. Schedule invocations must be separated by at least one hour. Times are in UTC. Format of at timestamp is  */
    schedule?: {
        at?: string;
    } | {
        cron?: string;
    };
    /** The descripion of the scheduled action to update to. */
    scheduledActionDescription?: string;
    /** The start time in UTC of the scheduled action to update to. */
    startTime?: string;
    targetAction?: {
        createSnapshot?: CreateSnapshotScheduleActionParameters;
    };
}
export interface UpdateSnapshotInput {
    /** The name of the snapshot. */
    snapshotName: string;
    /** The new retention period of the snapshot. */
    retentionPeriod?: number;
}
export interface UpdateSnapshotCopyConfigurationInput {
    /** The ID of the snapshot copy configuration to update. */
    snapshotCopyConfigurationId: string;
    /** The new retention period of how long to keep a snapshot in the destination Amazon Web Services Region. */
    snapshotRetentionPeriod?: number;
}
export interface UpdateUsageLimitInput {
    /** The identifier of the usage limit to update. */
    usageLimitId: string;
    /** The new limit amount. If time-based, this amount is in Redshift Processing Units (RPU) consumed per hour. If data-based, this amount is in terabytes (TB) of data transferred between Regions in cross-a */
    amount?: number;
    /** The new action that Amazon Redshift Serverless takes when the limit is reached. */
    breachAction?: 'log' | 'emit-metric' | 'deactivate';
}
export interface UpdateWorkgroupInput {
    /** The name of the workgroup to update. You can't update the name of a workgroup once it is created. */
    workgroupName: string;
    /** The new base data warehouse capacity in Redshift Processing Units (RPUs). */
    baseCapacity?: number;
    /** An array of parameters to set for advanced control over a database. The options are auto_mv, datestyle, enable_case_sensitive_identifier, enable_user_activity_logging, query_group, search_path, requir */
    configParameters?: ConfigParameter[];
    /** The value that specifies whether to turn on enhanced virtual private cloud (VPC) routing, which forces Amazon Redshift Serverless to route traffic through your VPC. */
    enhancedVpcRouting?: boolean;
    /** If true, allocates additional compute resources for running automatic optimization operations. Default: false */
    extraComputeForAutomaticOptimization?: boolean;
    /** The IP address type that the workgroup supports. Possible values are ipv4 and dualstack. */
    ipAddressType?: string;
    /** The maximum data-warehouse capacity Amazon Redshift Serverless uses to serve queries. The max capacity is specified in RPUs. */
    maxCapacity?: number;
    /** The custom port to use when connecting to a workgroup. Valid port ranges are 5431-5455 and 8191-8215. The default is 5439. */
    port?: number;
    /** An object that represents the price performance target settings for the workgroup. */
    pricePerformanceTarget?: PerformanceTarget;
    /** A value that specifies whether the workgroup can be accessible from a public network. */
    publiclyAccessible?: boolean;
    /** An array of security group IDs to associate with the workgroup. */
    securityGroupIds?: string[];
    /** An array of VPC subnet IDs to associate with the workgroup. */
    subnetIds?: string[];
    /** An optional parameter for the name of the track for the workgroup. If you don't provide a track name, the workgroup is assigned to the current track. */
    trackName?: string;
}
/** Redshift Serverless service binding for Step Functions SDK integrations. */
export declare class RedshiftServerless {
    constructor();
    convertRecoveryPointToSnapshot<T>(params: ConvertRecoveryPointToSnapshotInput): Promise<T>;
    createCustomDomainAssociation<T>(params: CreateCustomDomainAssociationInput): Promise<T>;
    createEndpointAccess<T>(params: CreateEndpointAccessInput): Promise<T>;
    createReservation<T>(params: CreateReservationInput): Promise<T>;
    createScheduledAction<T>(params: CreateScheduledActionInput): Promise<T>;
    createSnapshot<T>(params: CreateSnapshotInput): Promise<T>;
    createSnapshotCopyConfiguration<T>(params: CreateSnapshotCopyConfigurationInput): Promise<T>;
    createUsageLimit<T>(params: CreateUsageLimitInput): Promise<T>;
    deleteCustomDomainAssociation<T>(params: DeleteCustomDomainAssociationInput): Promise<T>;
    deleteEndpointAccess<T>(params: DeleteEndpointAccessInput): Promise<T>;
    deleteNamespace<T>(params: DeleteNamespaceInput): Promise<T>;
    deleteResourcePolicy<T>(params: DeleteResourcePolicyInput): Promise<T>;
    deleteScheduledAction<T>(params: DeleteScheduledActionInput): Promise<T>;
    deleteSnapshot<T>(params: DeleteSnapshotInput): Promise<T>;
    deleteSnapshotCopyConfiguration<T>(params: DeleteSnapshotCopyConfigurationInput): Promise<T>;
    deleteUsageLimit<T>(params: DeleteUsageLimitInput): Promise<T>;
    deleteWorkgroup<T>(params: DeleteWorkgroupInput): Promise<T>;
    getCredentials<T>(params: GetCredentialsInput): Promise<T>;
    getCustomDomainAssociation<T>(params: GetCustomDomainAssociationInput): Promise<T>;
    getEndpointAccess<T>(params: GetEndpointAccessInput): Promise<T>;
    getIdentityCenterAuthToken<T>(params: GetIdentityCenterAuthTokenInput): Promise<T>;
    getNamespace<T>(params: GetNamespaceInput): Promise<T>;
    getRecoveryPoint<T>(params: GetRecoveryPointInput): Promise<T>;
    getReservation<T>(params: GetReservationInput): Promise<T>;
    getReservationOffering<T>(params: GetReservationOfferingInput): Promise<T>;
    getResourcePolicy<T>(params: GetResourcePolicyInput): Promise<T>;
    getScheduledAction<T>(params: GetScheduledActionInput): Promise<T>;
    getSnapshot<T>(params: GetSnapshotInput): Promise<T>;
    getTableRestoreStatus<T>(params: GetTableRestoreStatusInput): Promise<T>;
    getTrack<T>(params: GetTrackInput): Promise<T>;
    getUsageLimit<T>(params: GetUsageLimitInput): Promise<T>;
    getWorkgroup<T>(params: GetWorkgroupInput): Promise<T>;
    listCustomDomainAssociations<T>(params: ListCustomDomainAssociationsInput): Promise<T>;
    listEndpointAccess<T>(params: ListEndpointAccessInput): Promise<T>;
    listManagedWorkgroups<T>(params: ListManagedWorkgroupsInput): Promise<T>;
    listNamespaces<T>(params: ListNamespacesInput): Promise<T>;
    listRecoveryPoints<T>(params: ListRecoveryPointsInput): Promise<T>;
    listReservationOfferings<T>(params: ListReservationOfferingsInput): Promise<T>;
    listReservations<T>(params: ListReservationsInput): Promise<T>;
    listScheduledActions<T>(params: ListScheduledActionsInput): Promise<T>;
    listSnapshotCopyConfigurations<T>(params: ListSnapshotCopyConfigurationsInput): Promise<T>;
    listSnapshots<T>(params: ListSnapshotsInput): Promise<T>;
    listTableRestoreStatus<T>(params: ListTableRestoreStatusInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    listTracks<T>(params: ListTracksInput): Promise<T>;
    listUsageLimits<T>(params: ListUsageLimitsInput): Promise<T>;
    listWorkgroups<T>(params: ListWorkgroupsInput): Promise<T>;
    putResourcePolicy<T>(params: PutResourcePolicyInput): Promise<T>;
    restoreFromRecoveryPoint<T>(params: RestoreFromRecoveryPointInput): Promise<T>;
    restoreFromSnapshot<T>(params: RestoreFromSnapshotInput): Promise<T>;
    restoreTableFromRecoveryPoint<T>(params: RestoreTableFromRecoveryPointInput): Promise<T>;
    restoreTableFromSnapshot<T>(params: RestoreTableFromSnapshotInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateCustomDomainAssociation<T>(params: UpdateCustomDomainAssociationInput): Promise<T>;
    updateEndpointAccess<T>(params: UpdateEndpointAccessInput): Promise<T>;
    updateLakehouseConfiguration<T>(params: UpdateLakehouseConfigurationInput): Promise<T>;
    updateNamespace<T>(params: UpdateNamespaceInput): Promise<T>;
    updateScheduledAction<T>(params: UpdateScheduledActionInput): Promise<T>;
    updateSnapshot<T>(params: UpdateSnapshotInput): Promise<T>;
    updateSnapshotCopyConfiguration<T>(params: UpdateSnapshotCopyConfigurationInput): Promise<T>;
    updateUsageLimit<T>(params: UpdateUsageLimitInput): Promise<T>;
    updateWorkgroup<T>(params: UpdateWorkgroupInput): Promise<T>;
}
//# sourceMappingURL=RedshiftServerless.d.ts.map