export interface Tag {
    /** A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and can't be prefixed with aws: or rds:. The string can only contain only the set of Unicode l */
    Key: string;
    /** A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and can't be prefixed with aws: or rds:. The string can only contain only the set of Unicod */
    Value: string;
}
export interface DimensionGroup {
    /** The name of the dimension group. Valid values are as follows: db - The name of the database to which the client is connected. The following values are permitted: Aurora PostgreSQL Amazon RDS PostgreSQ */
    Group: string;
    /** A list of specific dimensions from a dimension group. If this parameter is not present, then it signifies that all of the dimensions in the group were requested, or are present in the response. Valid  */
    Dimensions?: string[];
    /** The maximum number of items to fetch for this dimension group. */
    Limit?: number;
}
export interface MetricQuery {
    /** The name of a Performance Insights metric to be measured. Valid values for Metric are: db.load.avg - A scaled representation of the number of active sessions for the database engine. db.sampledload.av */
    Metric: string;
    /** A specification for how to aggregate the data points from a query result. You must specify a valid dimension group. Performance Insights will return all of the dimensions within that group, unless you */
    GroupBy?: any;
    /** One or more filters to apply in the request. Restrictions: Any number of filters by the same dimension, as specified in the GroupBy parameter. A single filter for any other dimension in this dimension */
    Filter?: Record<string, any>;
}
export interface CreatePerformanceAnalysisReportInput {
    /** The end time defined for the analysis report. */
    EndTime: string;
    /** An immutable, Amazon Web Services Region-unique identifier for a data source. Performance Insights gathers metrics from this data source. To use an Amazon RDS instance as a data source, you specify it */
    Identifier: string;
    /** The Amazon Web Services service for which Performance Insights will return metrics. Valid value is RDS. */
    ServiceType: 'RDS' | 'DOCDB';
    /** The start time defined for the analysis report. */
    StartTime: string;
    /** The metadata assigned to the analysis report consisting of a key-value pair. */
    Tags?: Tag[];
}
export interface DeletePerformanceAnalysisReportInput {
    /** The unique identifier of the analysis report for deletion. */
    AnalysisReportId: string;
    /** An immutable identifier for a data source that is unique for an Amazon Web Services Region. Performance Insights gathers metrics from this data source. In the console, the identifier is shown as Resou */
    Identifier: string;
    /** The Amazon Web Services service for which Performance Insights will return metrics. Valid value is RDS. */
    ServiceType: 'RDS' | 'DOCDB';
}
export interface DescribeDimensionKeysInput {
    /** The date and time specifying the end of the requested time series data. The value specified is exclusive, which means that data points less than (but not equal to) EndTime are returned. The value for  */
    EndTime: string;
    /** A specification for how to aggregate the data points from a query result. You must specify a valid dimension group. Performance Insights returns all dimensions within this group, unless you provide th */
    GroupBy: DimensionGroup;
    /** An immutable, Amazon Web Services Region-unique identifier for a data source. Performance Insights gathers metrics from this data source. To use an Amazon RDS instance as a data source, you specify it */
    Identifier: string;
    /** The name of a Performance Insights metric to be measured. Valid values for Metric are: db.load.avg - A scaled representation of the number of active sessions for the database engine. db.sampledload.av */
    Metric: string;
    /** The Amazon Web Services service for which Performance Insights will return metrics. Valid values are as follows: RDS DOCDB */
    ServiceType: 'RDS' | 'DOCDB';
    /** The date and time specifying the beginning of the requested time series data. You must specify a StartTime within the past 7 days. The value specified is inclusive, which means that data points equal  */
    StartTime: string;
    /** Additional metrics for the top N dimension keys. If the specified dimension group in the GroupBy parameter is db.sql_tokenized, you can specify per-SQL metrics to get the values for the top N SQL dige */
    AdditionalMetrics?: string[];
    /** One or more filters to apply in the request. Restrictions: Any number of filters by the same dimension, as specified in the GroupBy or Partition parameters. A single filter for any other dimension in  */
    Filter?: Record<string, string>;
    /** The maximum number of items to return in the response. If more items exist than the specified MaxRecords value, a pagination token is included in the response so that the remaining results can be retr */
    MaxResults?: number;
    /** An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the token, up to the value specified by MaxRecords. */
    NextToken?: string;
    /** For each dimension specified in GroupBy, specify a secondary dimension to further subdivide the partition keys in the response. */
    PartitionBy?: DimensionGroup;
    /** The granularity, in seconds, of the data points returned from Performance Insights. A period can be as short as one second, or as long as one day (86400 seconds). Valid values are: 1 (one second) 60 ( */
    PeriodInSeconds?: number;
}
export interface GetDimensionKeyDetailsInput {
    /** The name of the dimension group. Performance Insights searches the specified group for the dimension group ID. The following group name values are valid: db.execution_plan (Amazon RDS and Aurora only) */
    Group: string;
    /** The ID of the dimension group from which to retrieve dimension details. For dimension group db.sql, the group ID is db.sql.id. The following group ID values are valid: db.execution_plan.id for dimensi */
    GroupIdentifier: string;
    /** The ID for a data source from which to gather dimension data. This ID must be immutable and unique within an Amazon Web Services Region. When a DB instance is the data source, specify its DbiResourceI */
    Identifier: string;
    /** The Amazon Web Services service for which Performance Insights returns data. The only valid value is RDS. */
    ServiceType: 'RDS' | 'DOCDB';
    /** A list of dimensions to retrieve the detail data for within the given dimension group. If you don't specify this parameter, Performance Insights returns all dimension data within the specified dimensi */
    RequestedDimensions?: string[];
}
export interface GetPerformanceAnalysisReportInput {
    /** A unique identifier of the created analysis report. For example, report-12345678901234567 */
    AnalysisReportId: string;
    /** An immutable identifier for a data source that is unique for an Amazon Web Services Region. Performance Insights gathers metrics from this data source. In the console, the identifier is shown as Resou */
    Identifier: string;
    /** The Amazon Web Services service for which Performance Insights will return metrics. Valid value is RDS. */
    ServiceType: 'RDS' | 'DOCDB';
    /** The text language in the report. The default language is EN_US (English). */
    AcceptLanguage?: 'EN_US';
    /** Indicates the text format in the report. The options are PLAIN_TEXT or MARKDOWN. The default value is plain text. */
    TextFormat?: 'PLAIN_TEXT' | 'MARKDOWN';
}
export interface GetResourceMetadataInput {
    /** An immutable identifier for a data source that is unique for an Amazon Web Services Region. Performance Insights gathers metrics from this data source. To use a DB instance as a data source, specify i */
    Identifier: string;
    /** The Amazon Web Services service for which Performance Insights returns metrics. */
    ServiceType: 'RDS' | 'DOCDB';
}
export interface GetResourceMetricsInput {
    /** The date and time specifying the end of the requested time series query range. The value specified is exclusive. Thus, the command returns data points less than (but not equal to) EndTime. The value f */
    EndTime: string;
    /** An immutable identifier for a data source that is unique for an Amazon Web Services Region. Performance Insights gathers metrics from this data source. In the console, the identifier is shown as Resou */
    Identifier: string;
    /** An array of one or more queries to perform. Each query must specify a Performance Insights metric and specify an aggregate function, and you can provide filtering criteria. You must append the aggrega */
    MetricQueries: MetricQuery[];
    /** The Amazon Web Services service for which Performance Insights returns metrics. Valid values are as follows: RDS DOCDB */
    ServiceType: 'RDS' | 'DOCDB';
    /** The date and time specifying the beginning of the requested time series query range. You can't specify a StartTime that is earlier than 7 days ago. By default, Performance Insights has 7 days of reten */
    StartTime: string;
    /** The maximum number of items to return in the response. */
    MaxResults?: number;
    /** An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the token, up to the value specified by MaxRecords. */
    NextToken?: string;
    /** The returned timestamp which is the start or end time of the time periods. The default value is END_TIME. */
    PeriodAlignment?: 'END_TIME' | 'START_TIME';
    /** The granularity, in seconds, of the data points returned from Performance Insights. A period can be as short as one second, or as long as one day (86400 seconds). Valid values are: 1 (one second) 60 ( */
    PeriodInSeconds?: number;
}
export interface ListAvailableResourceDimensionsInput {
    /** An immutable identifier for a data source that is unique within an Amazon Web Services Region. Performance Insights gathers metrics from this data source. To use an Amazon RDS DB instance as a data so */
    Identifier: string;
    /** The types of metrics for which to retrieve dimensions. Valid values include db.load. */
    Metrics: string[];
    /** The Amazon Web Services service for which Performance Insights returns metrics. */
    ServiceType: 'RDS' | 'DOCDB';
    /** The actions to discover the dimensions you are authorized to access. If you specify multiple actions, then the response will contain the dimensions common for all the actions. When you don't specify t */
    AuthorizedActions?: 'DescribeDimensionKeys' | 'GetDimensionKeyDetails' | 'GetResourceMetrics'[];
    /** The maximum number of items to return in the response. If more items exist than the specified MaxRecords value, a pagination token is included in the response so that the remaining results can be retr */
    MaxResults?: number;
    /** An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the token, up to the value specified by MaxRecords. */
    NextToken?: string;
}
export interface ListAvailableResourceMetricsInput {
    /** An immutable identifier for a data source that is unique within an Amazon Web Services Region. Performance Insights gathers metrics from this data source. To use an Amazon RDS DB instance as a data so */
    Identifier: string;
    /** The types of metrics to return in the response. Valid values in the array include the following: os (OS counter metrics) - All engines db (DB load metrics) - All engines except for Amazon DocumentDB d */
    MetricTypes: string[];
    /** The Amazon Web Services service for which Performance Insights returns metrics. */
    ServiceType: 'RDS' | 'DOCDB';
    /** The maximum number of items to return. If the MaxRecords value is less than the number of existing items, the response includes a pagination token. */
    MaxResults?: number;
    /** An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the token, up to the value specified by MaxRecords. */
    NextToken?: string;
}
export interface ListPerformanceAnalysisReportsInput {
    /** An immutable identifier for a data source that is unique for an Amazon Web Services Region. Performance Insights gathers metrics from this data source. In the console, the identifier is shown as Resou */
    Identifier: string;
    /** The Amazon Web Services service for which Performance Insights returns metrics. Valid value is RDS. */
    ServiceType: 'RDS' | 'DOCDB';
    /** Specifies whether or not to include the list of tags in the response. */
    ListTags?: boolean;
    /** The maximum number of items to return in the response. If more items exist than the specified MaxResults value, a pagination token is included in the response so that the remaining results can be retr */
    MaxResults?: number;
    /** An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the token, up to the value specified by MaxResults. */
    NextToken?: string;
}
export interface ListTagsForResourceInput {
    /** Lists all the tags for the Amazon RDS Performance Insights resource. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see Constructing an RDS Amazon Resource Name (A */
    ResourceARN: string;
    /** List the tags for the Amazon Web Services service for which Performance Insights returns metrics. Valid value is RDS. */
    ServiceType: 'RDS' | 'DOCDB';
}
export interface TagResourceInput {
    /** The Amazon RDS Performance Insights resource that the tags are added to. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see Constructing an RDS Amazon Resource Nam */
    ResourceARN: string;
    /** The Amazon Web Services service for which Performance Insights returns metrics. Valid value is RDS. */
    ServiceType: 'RDS' | 'DOCDB';
    /** The metadata assigned to an Amazon RDS resource consisting of a key-value pair. */
    Tags: Tag[];
}
export interface UntagResourceInput {
    /** The Amazon RDS Performance Insights resource that the tags are added to. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see Constructing an RDS Amazon Resource Nam */
    ResourceARN: string;
    /** List the tags for the Amazon Web Services service for which Performance Insights returns metrics. Valid value is RDS. */
    ServiceType: 'RDS' | 'DOCDB';
    /** The metadata assigned to an Amazon RDS Performance Insights resource consisting of a key-value pair. */
    TagKeys: string[];
}
/** PI service binding for Step Functions SDK integrations. */
export declare class PI {
    constructor();
    createPerformanceAnalysisReport<T>(params: CreatePerformanceAnalysisReportInput): Promise<T>;
    deletePerformanceAnalysisReport<T>(params: DeletePerformanceAnalysisReportInput): Promise<T>;
    describeDimensionKeys<T>(params: DescribeDimensionKeysInput): Promise<T>;
    getDimensionKeyDetails<T>(params: GetDimensionKeyDetailsInput): Promise<T>;
    getPerformanceAnalysisReport<T>(params: GetPerformanceAnalysisReportInput): Promise<T>;
    getResourceMetadata<T>(params: GetResourceMetadataInput): Promise<T>;
    getResourceMetrics<T>(params: GetResourceMetricsInput): Promise<T>;
    listAvailableResourceDimensions<T>(params: ListAvailableResourceDimensionsInput): Promise<T>;
    listAvailableResourceMetrics<T>(params: ListAvailableResourceMetricsInput): Promise<T>;
    listPerformanceAnalysisReports<T>(params: ListPerformanceAnalysisReportsInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
}
//# sourceMappingURL=PI.d.ts.map