export interface CentralizationRuleSource {
    /** The list of source regions from which telemetry data should be centralized. */
    Regions: any[];
    /** The organizational scope from which telemetry data should be centralized, specified using organization id, accounts or organizational unit ids. */
    Scope?: string;
    /** Log specific configuration for centralization source log groups. */
    SourceLogsConfiguration?: any;
}
export interface CentralizationRuleDestination {
    /** The primary destination region to which telemetry data should be centralized. */
    Region: string;
    /** The destination account (within the organization) to which the telemetry data should be centralized. */
    Account?: string;
    /** Log specific configuration for centralization destination log groups. */
    DestinationLogsConfiguration?: any;
}
export interface CentralizationRule {
    /** Configuration determining the source of the telemetry data to be centralized. */
    Source: CentralizationRuleSource;
    /** Configuration determining where the telemetry data should be centralized, backed up, as well as encryption configuration for the primary and backup destinations. */
    Destination: CentralizationRuleDestination;
}
export interface Encryption {
    /** The server-side encryption algorithm used for encrypting data in the S3 Table integration. */
    SseAlgorithm: 'aws:kms' | 'AES256';
    /** The Amazon Resource Name (ARN) of the KMS key used for encryption when using customer-managed keys. */
    KmsKeyArn?: string;
}
export interface TelemetryPipelineConfiguration {
    /** The pipeline configuration body that defines the data processing rules and transformations. */
    Body: string;
}
export interface TelemetryDestinationConfiguration {
    /** The type of destination for the telemetry data (e.g., "Amazon CloudWatch Logs", "S3"). */
    DestinationType?: 'cloud-watch-logs';
    /** The pattern used to generate the destination path or name, supporting macros like &lt;resourceId&gt; and &lt;accountId&gt;. */
    DestinationPattern?: string;
    /** The number of days to retain the telemetry data in the destination. */
    RetentionInDays?: number;
    /** Configuration parameters specific to VPC Flow Logs when VPC is the resource type. */
    VPCFlowLogParameters?: any;
    /** Configuration parameters specific to Amazon Web Services CloudTrail when CloudTrail is the source type. */
    CloudtrailParameters?: any;
    /** Configuration parameters specific to ELB load balancer logging when ELB is the resource type. */
    ELBLoadBalancerLoggingParameters?: any;
    /** Configuration parameters specific to WAF logging when WAF is the resource type. */
    WAFLoggingParameters?: any;
    /** Configuration parameters specific to Amazon Bedrock AgentCore logging when Amazon Bedrock AgentCore is the resource type. */
    LogDeliveryParameters?: any;
}
export interface TelemetryRule {
    /** The type of Amazon Web Services resource to configure telemetry for (e.g., "AWS::EC2::VPC", "AWS::EKS::Cluster", "AWS::WAFv2::WebACL"). */
    ResourceType?: 'AWS::EC2::Instance' | 'AWS::EC2::VPC' | 'AWS::Lambda::Function' | 'AWS::CloudTrail' | 'AWS::EKS::Cluster' | 'AWS::WAFv2::WebACL' | 'AWS::ElasticLoadBalancingV2::LoadBalancer' | 'AWS::Route53Resolver::ResolverEndpoint' | 'AWS::BedrockAgentCore::Runtime' | 'AWS::BedrockAgentCore::Browser' | 'AWS::BedrockAgentCore::CodeInterpreter';
    /** The type of telemetry to collect (Logs, Metrics, or Traces). */
    TelemetryType: 'Logs' | 'Metrics' | 'Traces';
    /** The specific telemetry source types to configure for the resource, such as VPC_FLOW_LOGS or EKS_AUDIT_LOGS. TelemetrySourceTypes must be correlated with the specific resource type. */
    TelemetrySourceTypes?: 'VPC_FLOW_LOGS' | 'ROUTE53_RESOLVER_QUERY_LOGS' | 'EKS_AUDIT_LOGS' | 'EKS_AUTHENTICATOR_LOGS' | 'EKS_CONTROLLER_MANAGER_LOGS' | 'EKS_SCHEDULER_LOGS' | 'EKS_API_LOGS'[];
    /** Configuration specifying where and how the telemetry data should be delivered. */
    DestinationConfiguration?: TelemetryDestinationConfiguration;
    /** The organizational scope to which the rule applies, specified using accounts or organizational units. */
    Scope?: string;
    /** Criteria for selecting which resources the rule applies to, such as resource tags. */
    SelectionCriteria?: string;
}
export interface CreateCentralizationRuleForOrganizationInput {
    /** The configuration details for the organization-wide centralization rule, including the source configuration and the destination configuration to centralize telemetry data across the organization. */
    Rule: CentralizationRule;
    /** A unique name for the organization-wide centralization rule being created. */
    RuleName: string;
    /** The key-value pairs to associate with the organization telemetry rule resource for categorization and management purposes. */
    Tags?: Record<string, string>;
}
export interface CreateS3TableIntegrationInput {
    /** The encryption configuration for the S3 Table integration, including the encryption algorithm and KMS key settings. */
    Encryption: Encryption;
    /** The Amazon Resource Name (ARN) of the IAM role that grants permissions for the S3 Table integration to access necessary resources. */
    RoleArn: string;
    /** The key-value pairs to associate with the S3 Table integration resource for categorization and management purposes. */
    Tags?: Record<string, string>;
}
export interface CreateTelemetryPipelineInput {
    /** The configuration that defines how the telemetry pipeline processes data, including sources, processors, and destinations. For more information about pipeline components, see the Amazon CloudWatch Use */
    Configuration: TelemetryPipelineConfiguration;
    /** The name of the telemetry pipeline to create. The name must be unique within your account. */
    Name: string;
    /** The key-value pairs to associate with the telemetry pipeline resource for categorization and management purposes. */
    Tags?: Record<string, string>;
}
export interface CreateTelemetryRuleInput {
    /** The configuration details for the telemetry rule, including the resource type, telemetry type, destination configuration, and selection criteria for which resources the rule applies to. */
    Rule: TelemetryRule;
    /** A unique name for the telemetry rule being created. */
    RuleName: string;
    /** The key-value pairs to associate with the telemetry rule resource for categorization and management purposes. */
    Tags?: Record<string, string>;
}
export interface CreateTelemetryRuleForOrganizationInput {
    /** The configuration details for the organization-wide telemetry rule, including the resource type, telemetry type, destination configuration, and selection criteria for which resources the rule applies  */
    Rule: TelemetryRule;
    /** A unique name for the organization-wide telemetry rule being created. */
    RuleName: string;
    /** The key-value pairs to associate with the organization telemetry rule resource for categorization and management purposes. */
    Tags?: Record<string, string>;
}
export interface DeleteCentralizationRuleForOrganizationInput {
    /** The identifier (name or ARN) of the organization centralization rule to delete. */
    RuleIdentifier: string;
}
export interface DeleteS3TableIntegrationInput {
    /** The Amazon Resource Name (ARN) of the S3 Table integration to delete. */
    Arn: string;
}
export interface DeleteTelemetryPipelineInput {
    /** The ARN of the telemetry pipeline to delete. */
    PipelineIdentifier: string;
}
export interface DeleteTelemetryRuleInput {
    /** The identifier (name or ARN) of the telemetry rule to delete. */
    RuleIdentifier: string;
}
export interface DeleteTelemetryRuleForOrganizationInput {
    /** The identifier (name or ARN) of the organization telemetry rule to delete. */
    RuleIdentifier: string;
}
export interface GetCentralizationRuleForOrganizationInput {
    /** The identifier (name or ARN) of the organization centralization rule to retrieve. */
    RuleIdentifier: string;
}
export interface GetS3TableIntegrationInput {
    /** The Amazon Resource Name (ARN) of the S3 Table integration to retrieve. */
    Arn: string;
}
export interface GetTelemetryPipelineInput {
    /** The identifier (name or ARN) of the telemetry pipeline to retrieve. */
    PipelineIdentifier: string;
}
export interface GetTelemetryRuleInput {
    /** The identifier (name or ARN) of the telemetry rule to retrieve. */
    RuleIdentifier: string;
}
export interface GetTelemetryRuleForOrganizationInput {
    /** The identifier (name or ARN) of the organization telemetry rule to retrieve. */
    RuleIdentifier: string;
}
export interface ListCentralizationRulesForOrganizationInput {
    /** A flag determining whether to return organization centralization rules from all regions or only the current region. */
    AllRegions?: boolean;
    /** The maximum number of organization centralization rules to return in a single call. */
    MaxResults?: number;
    /** The token for the next set of results. A previous call generates this token. */
    NextToken?: string;
    /** A string to filter organization centralization rules whose names begin with the specified prefix. */
    RuleNamePrefix?: string;
}
export interface ListResourceTelemetryInput {
    /** A number field used to limit the number of results within the returned list. */
    MaxResults?: number;
    /** The token for the next set of items to return. A previous call generates this token. */
    NextToken?: string;
    /** A string used to filter resources which have a ResourceIdentifier starting with the ResourceIdentifierPrefix. */
    ResourceIdentifierPrefix?: string;
    /** A key-value pair to filter resources based on tags associated with the resource. For more information about tags, see What are tags? */
    ResourceTags?: Record<string, string>;
    /** A list of resource types used to filter resources supported by telemetry config. If this parameter is provided, the resources will be returned in the same order used in the request. */
    ResourceTypes?: 'AWS::EC2::Instance' | 'AWS::EC2::VPC' | 'AWS::Lambda::Function' | 'AWS::CloudTrail' | 'AWS::EKS::Cluster' | 'AWS::WAFv2::WebACL' | 'AWS::ElasticLoadBalancingV2::LoadBalancer' | 'AWS::Route53Resolver::ResolverEndpoint' | 'AWS::BedrockAgentCore::Runtime' | 'AWS::BedrockAgentCore::Browser' | 'AWS::BedrockAgentCore::CodeInterpreter'[];
    /** A key-value pair to filter resources based on the telemetry type and the state of the telemetry configuration. The key is the telemetry type and the value is the state. */
    TelemetryConfigurationState?: Record<string, 'Enabled' | 'Disabled' | 'NotApplicable'>;
}
export interface ListResourceTelemetryForOrganizationInput {
    /** A list of Amazon Web Services accounts used to filter the resources to those associated with the specified accounts. */
    AccountIdentifiers?: string[];
    /** A number field used to limit the number of results within the returned list. */
    MaxResults?: number;
    /** The token for the next set of items to return. A previous call provides this token. */
    NextToken?: string;
    /** A string used to filter resources in the organization which have a ResourceIdentifier starting with the ResourceIdentifierPrefix. */
    ResourceIdentifierPrefix?: string;
    /** A key-value pair to filter resources in the organization based on tags associated with the resource. Fore more information about tags, see What are tags? */
    ResourceTags?: Record<string, string>;
    /** A list of resource types used to filter resources in the organization. If this parameter is provided, the resources will be returned in the same order used in the request. */
    ResourceTypes?: 'AWS::EC2::Instance' | 'AWS::EC2::VPC' | 'AWS::Lambda::Function' | 'AWS::CloudTrail' | 'AWS::EKS::Cluster' | 'AWS::WAFv2::WebACL' | 'AWS::ElasticLoadBalancingV2::LoadBalancer' | 'AWS::Route53Resolver::ResolverEndpoint' | 'AWS::BedrockAgentCore::Runtime' | 'AWS::BedrockAgentCore::Browser' | 'AWS::BedrockAgentCore::CodeInterpreter'[];
    /** A key-value pair to filter resources in the organization based on the telemetry type and the state of the telemetry configuration. The key is the telemetry type and the value is the state. */
    TelemetryConfigurationState?: Record<string, 'Enabled' | 'Disabled' | 'NotApplicable'>;
}
export interface ListS3TableIntegrationsInput {
    /** The maximum number of S3 Table integrations to return in a single call. */
    MaxResults?: number;
    /** The token for the next set of results. A previous call generates this token. */
    NextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The Amazon Resource Name (ARN) of the telemetry rule resource whose tags you want to list. */
    ResourceARN: string;
}
export interface ListTelemetryPipelinesInput {
    /** The maximum number of telemetry pipelines to return in a single call. */
    MaxResults?: number;
    /** The token for the next set of results. A previous call generates this token. */
    NextToken?: string;
}
export interface ListTelemetryRulesInput {
    /** The maximum number of telemetry rules to return in a single call. */
    MaxResults?: number;
    /** The token for the next set of results. A previous call generates this token. */
    NextToken?: string;
    /** A string to filter telemetry rules whose names begin with the specified prefix. */
    RuleNamePrefix?: string;
}
export interface ListTelemetryRulesForOrganizationInput {
    /** The maximum number of organization telemetry rules to return in a single call. */
    MaxResults?: number;
    /** The token for the next set of results. A previous call generates this token. */
    NextToken?: string;
    /** A string to filter organization telemetry rules whose names begin with the specified prefix. */
    RuleNamePrefix?: string;
    /** The list of account IDs to filter organization telemetry rules by their source accounts. */
    SourceAccountIds?: string[];
    /** The list of organizational unit IDs to filter organization telemetry rules by their source organizational units. */
    SourceOrganizationUnitIds?: string[];
}
export interface TagResourceInput {
    /** The Amazon Resource Name (ARN) of the telemetry rule resource to tag. */
    ResourceARN: string;
    /** The key-value pairs to add or update for the telemetry rule resource. */
    Tags: Record<string, string>;
}
export interface TestTelemetryPipelineInput {
    /** The pipeline configuration to test with the provided sample records. */
    Configuration: TelemetryPipelineConfiguration;
    /** The sample records to process through the pipeline configuration for testing purposes. */
    Records: any[];
}
export interface UntagResourceInput {
    /** The Amazon Resource Name (ARN) of the telemetry rule resource to remove tags from. */
    ResourceARN: string;
    /** The list of tag keys to remove from the telemetry rule resource. */
    TagKeys: string[];
}
export interface UpdateCentralizationRuleForOrganizationInput {
    /** The configuration details for the organization-wide centralization rule, including the source configuration and the destination configuration to centralize telemetry data across the organization. */
    Rule: CentralizationRule;
    /** The identifier (name or ARN) of the organization centralization rule to update. */
    RuleIdentifier: string;
}
export interface UpdateTelemetryPipelineInput {
    /** The new configuration for the telemetry pipeline, including updated sources, processors, and destinations. */
    Configuration: TelemetryPipelineConfiguration;
    /** The ARN of the telemetry pipeline to update. */
    PipelineIdentifier: string;
}
export interface UpdateTelemetryRuleInput {
    /** The new configuration details for the telemetry rule. */
    Rule: TelemetryRule;
    /** The identifier (name or ARN) of the telemetry rule to update. */
    RuleIdentifier: string;
}
export interface UpdateTelemetryRuleForOrganizationInput {
    /** The new configuration details for the organization telemetry rule, including resource type, telemetry type, and destination configuration. */
    Rule: TelemetryRule;
    /** The identifier (name or ARN) of the organization telemetry rule to update. */
    RuleIdentifier: string;
}
export interface ValidateTelemetryPipelineConfigurationInput {
    /** The pipeline configuration to validate for syntax and compatibility. */
    Configuration: TelemetryPipelineConfiguration;
}
/** ObservabilityAdmin service binding for Step Functions SDK integrations. */
export declare class ObservabilityAdmin {
    constructor();
    createCentralizationRuleForOrganization<T>(params: CreateCentralizationRuleForOrganizationInput): Promise<T>;
    createS3TableIntegration<T>(params: CreateS3TableIntegrationInput): Promise<T>;
    createTelemetryPipeline<T>(params: CreateTelemetryPipelineInput): Promise<T>;
    createTelemetryRule<T>(params: CreateTelemetryRuleInput): Promise<T>;
    createTelemetryRuleForOrganization<T>(params: CreateTelemetryRuleForOrganizationInput): Promise<T>;
    deleteCentralizationRuleForOrganization<T>(params: DeleteCentralizationRuleForOrganizationInput): Promise<T>;
    deleteS3TableIntegration<T>(params: DeleteS3TableIntegrationInput): Promise<T>;
    deleteTelemetryPipeline<T>(params: DeleteTelemetryPipelineInput): Promise<T>;
    deleteTelemetryRule<T>(params: DeleteTelemetryRuleInput): Promise<T>;
    deleteTelemetryRuleForOrganization<T>(params: DeleteTelemetryRuleForOrganizationInput): Promise<T>;
    getCentralizationRuleForOrganization<T>(params: GetCentralizationRuleForOrganizationInput): Promise<T>;
    getS3TableIntegration<T>(params: GetS3TableIntegrationInput): Promise<T>;
    getTelemetryEnrichmentStatus<T>(): Promise<T>;
    getTelemetryEvaluationStatus<T>(): Promise<T>;
    getTelemetryEvaluationStatusForOrganization<T>(): Promise<T>;
    getTelemetryPipeline<T>(params: GetTelemetryPipelineInput): Promise<T>;
    getTelemetryRule<T>(params: GetTelemetryRuleInput): Promise<T>;
    getTelemetryRuleForOrganization<T>(params: GetTelemetryRuleForOrganizationInput): Promise<T>;
    listCentralizationRulesForOrganization<T>(params: ListCentralizationRulesForOrganizationInput): Promise<T>;
    listResourceTelemetry<T>(params: ListResourceTelemetryInput): Promise<T>;
    listResourceTelemetryForOrganization<T>(params: ListResourceTelemetryForOrganizationInput): Promise<T>;
    listS3TableIntegrations<T>(params: ListS3TableIntegrationsInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    listTelemetryPipelines<T>(params: ListTelemetryPipelinesInput): Promise<T>;
    listTelemetryRules<T>(params: ListTelemetryRulesInput): Promise<T>;
    listTelemetryRulesForOrganization<T>(params: ListTelemetryRulesForOrganizationInput): Promise<T>;
    startTelemetryEnrichment<T>(): Promise<T>;
    startTelemetryEvaluation<T>(): Promise<T>;
    startTelemetryEvaluationForOrganization<T>(): Promise<T>;
    stopTelemetryEnrichment<T>(): Promise<T>;
    stopTelemetryEvaluation<T>(): Promise<T>;
    stopTelemetryEvaluationForOrganization<T>(): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    testTelemetryPipeline<T>(params: TestTelemetryPipelineInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateCentralizationRuleForOrganization<T>(params: UpdateCentralizationRuleForOrganizationInput): Promise<T>;
    updateTelemetryPipeline<T>(params: UpdateTelemetryPipelineInput): Promise<T>;
    updateTelemetryRule<T>(params: UpdateTelemetryRuleInput): Promise<T>;
    updateTelemetryRuleForOrganization<T>(params: UpdateTelemetryRuleForOrganizationInput): Promise<T>;
    validateTelemetryPipelineConfiguration<T>(params: ValidateTelemetryPipelineConfigurationInput): Promise<T>;
}
//# sourceMappingURL=ObservabilityAdmin.d.ts.map