export interface Tag {
    /** The key in a key-value pair. The key must be must be no longer than 128 Unicode characters. The key must be unique for the resource to which it applies. */
    Key: string;
    /** The value in a key-value pair of a tag. The value must be no longer than 256 Unicode characters. */
    Value?: string;
}
export interface Destination {
    /** The type of destination for events arriving from a channel. For channels used for a CloudTrail Lake integration, the value is EVENT_DATA_STORE. For service-linked channels, the value is AWS_SERVICE. */
    Type: 'EVENT_DATA_STORE' | 'AWS_SERVICE';
    /** For channels used for a CloudTrail Lake integration, the location is the ARN of an event data store that receives events from a channel. For service-linked channels, the location is the name of the Am */
    Location: string;
}
export interface RefreshScheduleFrequency {
    /** The unit to use for the refresh. For custom dashboards, the unit can be HOURS or DAYS. For the Highlights dashboard, the Unit must be HOURS. */
    Unit?: 'HOURS' | 'DAYS';
    /** The value for the refresh schedule. For custom dashboards, the following values are valid when the unit is HOURS: 1, 6, 12, 24 For custom dashboards, the only valid value when the unit is DAYS is 1. F */
    Value?: number;
}
export interface RefreshSchedule {
    /** The frequency at which you want the dashboard refreshed. */
    Frequency?: RefreshScheduleFrequency;
    /** Specifies whether the refresh schedule is enabled. Set the value to ENABLED to enable the refresh schedule, or to DISABLED to turn off the refresh schedule. */
    Status?: 'ENABLED' | 'DISABLED';
    /** The time of day in UTC to run the schedule; for hourly only refer to minutes; default is 00:00. */
    TimeOfDay?: string;
}
export interface RequestWidget {
    /** The query statement for the widget. For custom dashboard widgets, you can query across multiple event data stores as long as all event data stores exist in your account. When a query uses ? with event */
    QueryStatement: string;
    /** The optional query parameters. The following query parameters are valid: $StartTime$, $EndTime$, and $Period$. */
    QueryParameters?: any[];
    /** The view properties for the widget. For more information about view properties, see View properties for widgets in the CloudTrail User Guide. */
    ViewProperties: Record<string, any>;
}
export interface AdvancedEventSelector {
    /** An optional, descriptive name for an advanced event selector, such as "Log data events for only two S3 buckets". */
    Name?: string;
    /** Contains all selector statements in an advanced event selector. */
    FieldSelectors: any[];
}
export interface LookupAttribute {
    /** Specifies an attribute on which to filter the events returned. */
    AttributeKey: 'EventId' | 'EventName' | 'ReadOnly' | 'Username' | 'ResourceType' | 'ResourceName' | 'EventSource' | 'AccessKeyId';
    /** Specifies a value for the specified AttributeKey. The maximum length for the AttributeValue is 2000 characters. The following characters ('_', ' ', ',', '\\n') count as two characters towards the 2000 */
    AttributeValue: string;
}
export interface ContextKeySelector {
    /** Specifies the type of the event record field in ContextKeySelector. Valid values include RequestContext, TagContext. */
    Type: 'TagContext' | 'RequestContext';
    /** A list of keys defined by Type to be included in CloudTrail enriched events. */
    Equals: any[];
}
export interface AggregationConfiguration {
    /** A list of aggregation templates that can be used to configure event aggregation. */
    Templates: any[];
    /** Specifies the event category for which aggregation should be performed. */
    EventCategory: 'Data';
}
export interface EventSelector {
    /** Specify if you want your trail to log read-only events, write-only events, or all. For example, the EC2 GetConsoleOutput is a read-only API operation and RunInstances is a write-only API operation. By */
    ReadWriteType?: 'ReadOnly' | 'WriteOnly' | 'All';
    /** Specify if you want your event selector to include management events for your trail. For more information, see Management Events in the CloudTrail User Guide. By default, the value is true. The first  */
    IncludeManagementEvents?: boolean;
    /** CloudTrail supports data event logging for Amazon S3 objects in standard S3 buckets, Lambda functions, and Amazon DynamoDB tables with basic event selectors. You can specify up to 250 resources for an */
    DataResources?: any[];
    /** An optional list of service event sources from which you do not want management events to be logged on your trail. In this release, the list can be empty (disables the filter), or it can filter out Ke */
    ExcludeManagementEventSources?: any[];
}
export interface InsightSelector {
    /** The type of Insights events to log on a trail or event data store. ApiCallRateInsight and ApiErrorRateInsight are valid Insight types. The ApiCallRateInsight Insights type analyzes write-only manageme */
    InsightType?: 'ApiCallRateInsight' | 'ApiErrorRateInsight';
    /** Select the event category on which Insights should be enabled. If EventCategories is not provided, the specified Insights types are enabled on management API calls by default. If EventCategories is pr */
    EventCategories?: any[];
}
export interface S3ImportSource {
    /** The URI for the source S3 bucket. */
    S3LocationUri: string;
    /** The Region associated with the source S3 bucket. */
    S3BucketRegion: string;
    /** The IAM ARN role used to access the source S3 bucket. */
    S3BucketAccessRoleArn: string;
}
export interface ImportSource {
    /** The source S3 bucket. */
    S3: S3ImportSource;
}
/** Specifies the tags to add to a trail, event data store, dashboard, or channel. */
export interface AddTagsInput {
    /** Specifies the ARN of the trail, event data store, dashboard, or channel to which one or more tags will be added. The format of a trail ARN is: arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail T */
    ResourceId: string;
    /** Contains a list of tags, up to a limit of 50 */
    TagsList: Tag[];
}
export interface CancelQueryInput {
    /** The ID of the query that you want to cancel. The QueryId comes from the response of a StartQuery operation. */
    QueryId: string;
    /** The ARN (or the ID suffix of the ARN) of an event data store on which the specified query is running. */
    EventDataStore?: string;
    /** The account ID of the event data store owner. */
    EventDataStoreOwnerAccountId?: string;
}
export interface CreateChannelInput {
    /** One or more event data stores to which events arriving through a channel will be logged. */
    Destinations: Destination[];
    /** The name of the channel. */
    Name: string;
    /** The name of the partner or external event source. You cannot change this name after you create the channel. A maximum of one channel is allowed per source. A source can be either Custom for all valid  */
    Source: string;
    Tags?: Tag[];
}
export interface CreateDashboardInput {
    /** The name of the dashboard. The name must be unique to your account. To create the Highlights dashboard, the name must be AWSCloudTrail-Highlights. */
    Name: string;
    /** The refresh schedule configuration for the dashboard. To create the Highlights dashboard, you must set a refresh schedule and set the Status to ENABLED. The Unit for the refresh schedule must be HOURS */
    RefreshSchedule?: RefreshSchedule;
    TagsList?: Tag[];
    /** Specifies whether termination protection is enabled for the dashboard. If termination protection is enabled, you cannot delete the dashboard until termination protection is disabled. */
    TerminationProtectionEnabled?: boolean;
    /** An array of widgets for a custom dashboard. A custom dashboard can have a maximum of ten widgets. You do not need to specify widgets for the Highlights dashboard. */
    Widgets?: RequestWidget[];
}
export interface CreateEventDataStoreInput {
    /** The name of the event data store. */
    Name: string;
    /** The advanced event selectors to use to select the events for the data store. You can configure up to five advanced event selectors for each event data store. For more information about how to use adva */
    AdvancedEventSelectors?: AdvancedEventSelector[];
    /** The billing mode for the event data store determines the cost for ingesting events and the default and maximum retention period for the event data store. The following are the possible values: EXTENDA */
    BillingMode?: 'EXTENDABLE_RETENTION_PRICING' | 'FIXED_RETENTION_PRICING';
    /** Specifies the KMS key ID to use to encrypt the events delivered by CloudTrail. The value can be an alias name prefixed by alias/, a fully specified ARN to an alias, a fully specified ARN to a key, or  */
    KmsKeyId?: string;
    /** Specifies whether the event data store includes events from all Regions, or only from the Region in which the event data store is created. */
    MultiRegionEnabled?: boolean;
    /** Specifies whether an event data store collects events logged for an organization in Organizations. */
    OrganizationEnabled?: boolean;
    /** The retention period of the event data store, in days. If BillingMode is set to EXTENDABLE_RETENTION_PRICING, you can set a retention period of up to 3653 days, the equivalent of 10 years. If BillingM */
    RetentionPeriod?: number;
    /** Specifies whether the event data store should start ingesting live events. The default is true. */
    StartIngestion?: boolean;
    TagsList?: Tag[];
    /** Specifies whether termination protection is enabled for the event data store. If termination protection is enabled, you cannot delete the event data store until termination protection is disabled. */
    TerminationProtectionEnabled?: boolean;
}
/** Specifies the settings for each trail. */
export interface CreateTrailInput {
    /** Specifies the name of the trail. The name must meet the following requirements: Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-) Start with a letter or */
    Name: string;
    /** Specifies the name of the Amazon S3 bucket designated for publishing log files. For information about bucket naming rules, see Bucket naming rules in the Amazon Simple Storage Service User Guide. */
    S3BucketName: string;
    /** Specifies a log group name using an Amazon Resource Name (ARN), a unique identifier that represents the log group to which CloudTrail logs will be delivered. You must use a log group that exists in yo */
    CloudWatchLogsLogGroupArn?: string;
    /** Specifies the role for the CloudWatch Logs endpoint to assume to write to a user's log group. You must use a role that exists in your account. */
    CloudWatchLogsRoleArn?: string;
    /** Specifies whether log file integrity validation is enabled. The default is false. When you disable log file integrity validation, the chain of digest files is broken after one hour. CloudTrail does no */
    EnableLogFileValidation?: boolean;
    /** Specifies whether the trail is publishing events from global services such as IAM to the log files. */
    IncludeGlobalServiceEvents?: boolean;
    /** Specifies whether the trail is created in the current Region or in all Regions. The default is false, which creates a trail only in the Region where you are signed in. As a best practice, consider cre */
    IsMultiRegionTrail?: boolean;
    /** Specifies whether the trail is created for all accounts in an organization in Organizations, or only for the current Amazon Web Services account. The default is false, and cannot be true unless the ca */
    IsOrganizationTrail?: boolean;
    /** Specifies the KMS key ID to use to encrypt the logs and digest files delivered by CloudTrail. The value can be an alias name prefixed by alias/, a fully specified ARN to an alias, a fully specified AR */
    KmsKeyId?: string;
    /** Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated for log file delivery. For more information, see Finding Your CloudTrail Log Files. The maximum length is */
    S3KeyPrefix?: string;
    /** Specifies the name or ARN of the Amazon SNS topic defined for notification of log file delivery. The maximum length is 256 characters. */
    SnsTopicName?: string;
    TagsList?: Tag[];
}
export interface DeleteChannelInput {
    /** The ARN or the UUID value of the channel that you want to delete. */
    Channel: string;
}
export interface DeleteDashboardInput {
    /** The name or ARN for the dashboard. */
    DashboardId: string;
}
export interface DeleteEventDataStoreInput {
    /** The ARN (or the ID suffix of the ARN) of the event data store to delete. */
    EventDataStore: string;
}
export interface DeleteResourcePolicyInput {
    /** The Amazon Resource Name (ARN) of the CloudTrail event data store, dashboard, or channel you're deleting the resource-based policy from. Example event data store ARN format: arn:aws:cloudtrail:us-east */
    ResourceArn: string;
}
/** The request that specifies the name of a trail to delete. */
export interface DeleteTrailInput {
    /** Specifies the name or the CloudTrail ARN of the trail to be deleted. The following is the format of a trail ARN. arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail */
    Name: string;
}
/** Removes CloudTrail delegated administrator permissions from a specified member account in an organization that is currently designated as a delegated administrator. */
export interface DeregisterOrganizationDelegatedAdminInput {
    /** A delegated administrator account ID. This is a member account in an organization that is currently designated as a delegated administrator. */
    DelegatedAdminAccountId: string;
}
export interface DescribeQueryInput {
    /** The ARN (or the ID suffix of the ARN) of an event data store on which the specified query was run. */
    EventDataStore?: string;
    /** The account ID of the event data store owner. */
    EventDataStoreOwnerAccountId?: string;
    /** The alias that identifies a query template. */
    QueryAlias?: string;
    /** The query ID. */
    QueryId?: string;
    /** The ID of the dashboard refresh. */
    RefreshId?: string;
}
/** Returns information about the trail. */
export interface DescribeTrailsInput {
    /** Specifies whether to include shadow trails in the response. A shadow trail is the replication in a Region of a trail that was created in a different Region, or in the case of an organization trail, th */
    includeShadowTrails?: boolean;
    /** Specifies a list of trail names, trail ARNs, or both, of the trails to describe. The format of a trail ARN is: arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail If an empty list is specified, in */
    trailNameList?: string[];
}
export interface DisableFederationInput {
    /** The ARN (or ID suffix of the ARN) of the event data store for which you want to disable Lake query federation. */
    EventDataStore: string;
}
export interface EnableFederationInput {
    /** The ARN (or ID suffix of the ARN) of the event data store for which you want to enable Lake query federation. */
    EventDataStore: string;
    /** The ARN of the federation role to use for the event data store. Amazon Web Services services like Lake Formation use this federation role to access data for the federated event data store. The federat */
    FederationRoleArn: string;
}
export interface GenerateQueryInput {
    /** The ARN (or ID suffix of the ARN) of the event data store that you want to query. You can only specify one event data store. */
    EventDataStores: string[];
    /** The prompt that you want to use to generate the query. The prompt must be in English. For example prompts, see Example prompts in the CloudTrail user guide. */
    Prompt: string;
}
export interface GetChannelInput {
    /** The ARN or UUID of a channel. */
    Channel: string;
}
export interface GetDashboardInput {
    /** The name or ARN for the dashboard. */
    DashboardId: string;
}
export interface GetEventConfigurationInput {
    /** The Amazon Resource Name (ARN) or ID suffix of the ARN of the event data store for which you want to retrieve event configuration settings. */
    EventDataStore?: string;
    /** The name of the trail for which you want to retrieve event configuration settings. */
    TrailName?: string;
}
export interface GetEventDataStoreInput {
    /** The ARN (or ID suffix of the ARN) of the event data store about which you want information. */
    EventDataStore: string;
}
export interface GetEventSelectorsInput {
    /** Specifies the name of the trail or trail ARN. If you specify a trail name, the string must meet the following requirements: Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscor */
    TrailName: string;
}
export interface GetImportInput {
    /** The ID for the import. */
    ImportId: string;
}
export interface GetInsightSelectorsInput {
    /** Specifies the ARN (or ID suffix of the ARN) of the event data store for which you want to get Insights selectors. You cannot use this parameter with the TrailName parameter. */
    EventDataStore?: string;
    /** Specifies the name of the trail or trail ARN. If you specify a trail name, the string must meet the following requirements: Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscor */
    TrailName?: string;
}
export interface GetQueryResultsInput {
    /** The ID of the query for which you want to get results. */
    QueryId: string;
    /** The ARN (or ID suffix of the ARN) of the event data store against which the query was run. */
    EventDataStore?: string;
    /** The account ID of the event data store owner. */
    EventDataStoreOwnerAccountId?: string;
    /** The maximum number of query results to display on a single page. */
    MaxQueryResults?: number;
    /** A token you can use to get the next page of query results. */
    NextToken?: string;
}
export interface GetResourcePolicyInput {
    /** The Amazon Resource Name (ARN) of the CloudTrail event data store, dashboard, or channel attached to the resource-based policy. Example event data store ARN format: arn:aws:cloudtrail:us-east-2:123456 */
    ResourceArn: string;
}
export interface GetTrailInput {
    /** The name or the Amazon Resource Name (ARN) of the trail for which you want to retrieve settings information. */
    Name: string;
}
/** The name of a trail about which you want the current status. */
export interface GetTrailStatusInput {
    /** Specifies the name or the CloudTrail ARN of the trail for which you are requesting status. To get the status of a shadow trail (a replication of the trail in another Region), you must specify its ARN. */
    Name: string;
}
export interface ListChannelsInput {
    /** The maximum number of CloudTrail channels to display on a single page. */
    MaxResults?: number;
    /** The token to use to get the next page of results after a previous API call. This token must be passed in with the same parameters that were specified in the original call. For example, if the original */
    NextToken?: string;
}
export interface ListDashboardsInput {
    /** The maximum number of dashboards to display on a single page. */
    MaxResults?: number;
    /** Specify a name prefix to filter on. */
    NamePrefix?: string;
    /** A token you can use to get the next page of dashboard results. */
    NextToken?: string;
    /** Specify a dashboard type to filter on: CUSTOM or MANAGED. */
    Type?: 'MANAGED' | 'CUSTOM';
}
export interface ListEventDataStoresInput {
    /** The maximum number of event data stores to display on a single page. */
    MaxResults?: number;
    /** A token you can use to get the next page of event data store results. */
    NextToken?: string;
}
export interface ListImportFailuresInput {
    /** The ID of the import. */
    ImportId: string;
    /** The maximum number of failures to display on a single page. */
    MaxResults?: number;
    /** A token you can use to get the next page of import failures. */
    NextToken?: string;
}
export interface ListImportsInput {
    /** The ARN of the destination event data store. */
    Destination?: string;
    /** The status of the import. */
    ImportStatus?: 'INITIALIZING' | 'IN_PROGRESS' | 'FAILED' | 'STOPPED' | 'COMPLETED';
    /** The maximum number of imports to display on a single page. */
    MaxResults?: number;
    /** A token you can use to get the next page of import results. */
    NextToken?: string;
}
export interface ListInsightsDataInput {
    /** Specifies the category of events returned. To fetch Insights events, specify InsightsEvents as the value of DataType */
    DataType: 'InsightsEvents';
    /** The Amazon Resource Name(ARN) of the trail for which you want to retrieve Insights events. */
    InsightSource: string;
    /** Contains a map of dimensions. Currently the map can contain only one item. */
    Dimensions?: Record<string, string>;
    /** Specifies that only events that occur before or at the specified time are returned. If the specified end time is before the specified start time, an error is returned. */
    EndTime?: string;
    /** The number of events to return. Possible values are 1 through 50. The default is 50. */
    MaxResults?: number;
    /** The token to use to get the next page of results after a previous API call. This token must be passed in with the same parameters that were specified in the original call. For example, if the original */
    NextToken?: string;
    /** Specifies that only events that occur after or at the specified time are returned. If the specified start time is after the specified end time, an error is returned. */
    StartTime?: string;
}
export interface ListInsightsMetricDataInput {
    /** The name of the event, typically the Amazon Web Services API on which unusual levels of activity were recorded. */
    EventName: string;
    /** The Amazon Web Services service to which the request was made, such as iam.amazonaws.com or s3.amazonaws.com. */
    EventSource: string;
    /** The type of CloudTrail Insights event, which is either ApiCallRateInsight or ApiErrorRateInsight. The ApiCallRateInsight Insights type analyzes write-only management API calls that are aggregated per  */
    InsightType: 'ApiCallRateInsight' | 'ApiErrorRateInsight';
    /** Type of data points to return. Valid values are NonZeroData and FillWithZeros. The default is NonZeroData. */
    DataType?: 'FillWithZeros' | 'NonZeroData';
    /** Specifies, in UTC, the end time for time-series data. The value specified is exclusive; results include data points up to the specified time stamp. The default is the time of request. */
    EndTime?: string;
    /** Conditionally required if the InsightType parameter is set to ApiErrorRateInsight. If returning metrics for the ApiErrorRateInsight Insights type, this is the error to retrieve data for. For example,  */
    ErrorCode?: string;
    /** The maximum number of data points to return. Valid values are integers from 1 to 21600. The default value is 21600. */
    MaxResults?: number;
    /** Returned if all datapoints can't be returned in a single call. For example, due to reaching MaxResults. Add this parameter to the request to continue retrieving results starting from the last evaluate */
    NextToken?: string;
    /** Granularity of data to retrieve, in seconds. Valid values are 60, 300, and 3600. If you specify any other value, you will get an error. The default is 3600 seconds. */
    Period?: number;
    /** Specifies, in UTC, the start time for time-series data. The value specified is inclusive; results include data points with the specified time stamp. The default is 90 days before the time of request. */
    StartTime?: string;
    /** The Amazon Resource Name(ARN) or name of the trail for which you want to retrieve Insights metrics data. This parameter should only be provided to fetch Insights metrics data generated on trails loggi */
    TrailName?: string;
}
/** Requests the public keys for a specified time range. */
export interface ListPublicKeysInput {
    /** Optionally specifies, in UTC, the end of the time range to look up public keys for CloudTrail digest files. If not specified, the current time is used. */
    EndTime?: string;
    /** Reserved for future use. */
    NextToken?: string;
    /** Optionally specifies, in UTC, the start of the time range to look up public keys for CloudTrail digest files. If not specified, the current time is used, and the current public key is returned. */
    StartTime?: string;
}
export interface ListQueriesInput {
    /** The ARN (or the ID suffix of the ARN) of an event data store on which queries were run. */
    EventDataStore: string;
    /** Use with StartTime to bound a ListQueries request, and limit its results to only those queries run within a specified time period. */
    EndTime?: string;
    /** The maximum number of queries to show on a page. */
    MaxResults?: number;
    /** A token you can use to get the next page of results. */
    NextToken?: string;
    /** The status of queries that you want to return in results. Valid values for QueryStatus include QUEUED, RUNNING, FINISHED, FAILED, TIMED_OUT, or CANCELLED. */
    QueryStatus?: 'QUEUED' | 'RUNNING' | 'FINISHED' | 'FAILED' | 'CANCELLED' | 'TIMED_OUT';
    /** Use with EndTime to bound a ListQueries request, and limit its results to only those queries run within a specified time period. */
    StartTime?: string;
}
/** Specifies a list of tags to return. */
export interface ListTagsInput {
    /** Specifies a list of trail, event data store, dashboard, or channel ARNs whose tags will be listed. The list has a limit of 20 ARNs. Example trail ARN format: arn:aws:cloudtrail:us-east-2:123456789012: */
    ResourceIdList: string[];
    /** Reserved for future use. */
    NextToken?: string;
}
export interface ListTrailsInput {
    /** The token to use to get the next page of results after a previous API call. This token must be passed in with the same parameters that were specified in the original call. For example, if the original */
    NextToken?: string;
}
/** Contains a request for LookupEvents. */
export interface LookupEventsInput {
    /** Specifies that only events that occur before or at the specified time are returned. If the specified end time is before the specified start time, an error is returned. */
    EndTime?: string;
    /** Specifies the event category. If you do not specify an event category, events of the category are not returned in the response. For example, if you do not specify insight as the value of EventCategory */
    EventCategory?: 'insight';
    /** Contains a list of lookup attributes. Currently the list can contain only one item. */
    LookupAttributes?: LookupAttribute[];
    /** The number of events to return. Possible values are 1 through 50. The default is 50. */
    MaxResults?: number;
    /** The token to use to get the next page of results after a previous API call. This token must be passed in with the same parameters that were specified in the original call. For example, if the original */
    NextToken?: string;
    /** Specifies that only events that occur after or at the specified time are returned. If the specified start time is after the specified end time, an error is returned. */
    StartTime?: string;
}
export interface PutEventConfigurationInput {
    /** The list of aggregation configurations that you want to configure for the trail. */
    AggregationConfigurations?: AggregationConfiguration[];
    /** A list of context key selectors that will be included to provide enriched event data. */
    ContextKeySelectors?: ContextKeySelector[];
    /** The Amazon Resource Name (ARN) or ID suffix of the ARN of the event data store for which event configuration settings are updated. */
    EventDataStore?: string;
    /** The maximum allowed size for events to be stored in the specified event data store. If you are using context key selectors, MaxEventSize must be set to Large. */
    MaxEventSize?: 'Standard' | 'Large';
    /** The name of the trail for which you want to update event configuration settings. */
    TrailName?: string;
}
export interface PutEventSelectorsInput {
    /** Specifies the name of the trail or trail ARN. If you specify a trail name, the string must meet the following requirements: Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscor */
    TrailName: string;
    /** Specifies the settings for advanced event selectors. You can use advanced event selectors to log management events, data events for all resource types, and network activity events. You can add advance */
    AdvancedEventSelectors?: AdvancedEventSelector[];
    /** Specifies the settings for your event selectors. You can use event selectors to log management events and data events for the following resource types: AWS::DynamoDB::Table AWS::Lambda::Function AWS:: */
    EventSelectors?: EventSelector[];
}
export interface PutInsightSelectorsInput {
    /** Contains the Insights types you want to log on a specific category of events on a trail or event data store. ApiCallRateInsight and ApiErrorRateInsight are valid Insight types.The EventCategory field  */
    InsightSelectors: InsightSelector[];
    /** The ARN (or ID suffix of the ARN) of the source event data store for which you want to change or add Insights selectors. To enable Insights on an event data store, you must provide both the EventDataS */
    EventDataStore?: string;
    /** The ARN (or ID suffix of the ARN) of the destination event data store that logs Insights events. To enable Insights on an event data store, you must provide both the EventDataStore and InsightsDestina */
    InsightsDestination?: string;
    /** The name of the CloudTrail trail for which you want to change or add Insights selectors. You cannot use this parameter with the EventDataStore and InsightsDestination parameters. */
    TrailName?: string;
}
export interface PutResourcePolicyInput {
    /** The Amazon Resource Name (ARN) of the CloudTrail event data store, dashboard, or channel attached to the resource-based policy. Example event data store ARN format: arn:aws:cloudtrail:us-east-2:123456 */
    ResourceArn: string;
    /** A JSON-formatted string for an Amazon Web Services resource-based policy. For example resource-based policies, see CloudTrail resource-based policy examples in the CloudTrail User Guide. */
    ResourcePolicy: string;
}
/** Specifies an organization member account ID as a CloudTrail delegated administrator. */
export interface RegisterOrganizationDelegatedAdminInput {
    /** An organization member account ID that you want to designate as a delegated administrator. */
    MemberAccountId: string;
}
/** Specifies the tags to remove from a trail, event data store, dashboard, or channel. */
export interface RemoveTagsInput {
    /** Specifies the ARN of the trail, event data store, dashboard, or channel from which tags should be removed. Example trail ARN format: arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail Example eve */
    ResourceId: string;
    /** Specifies a list of tags to be removed. */
    TagsList: Tag[];
}
export interface RestoreEventDataStoreInput {
    /** The ARN (or the ID suffix of the ARN) of the event data store that you want to restore. */
    EventDataStore: string;
}
export interface SearchSampleQueriesInput {
    /** The natural language phrase to use for the semantic search. The phrase must be in English. The length constraint is in characters, not words. */
    SearchPhrase: string;
    /** The maximum number of results to return on a single page. The default value is 10. */
    MaxResults?: number;
    /** A token you can use to get the next page of results. The length constraint is in characters, not words. */
    NextToken?: string;
}
export interface StartDashboardRefreshInput {
    /** The name or ARN of the dashboard. */
    DashboardId: string;
    /** The query parameter values for the dashboard For custom dashboards, the following query parameters are valid: $StartTime$, $EndTime$, and $Period$. For managed dashboards, the following query paramete */
    QueryParameterValues?: Record<string, string>;
}
export interface StartEventDataStoreIngestionInput {
    /** The ARN (or ID suffix of the ARN) of the event data store for which you want to start ingestion. */
    EventDataStore: string;
}
export interface StartImportInput {
    /** The ARN of the destination event data store. Use this parameter for a new import. */
    Destinations?: string[];
    /** Use with StartEventTime to bound a StartImport request, and limit imported trail events to only those events logged within a specified time period. When you specify a time range, CloudTrail checks the */
    EndEventTime?: string;
    /** The ID of the import. Use this parameter when you are retrying an import. */
    ImportId?: string;
    /** The source S3 bucket for the import. Use this parameter for a new import. */
    ImportSource?: ImportSource;
    /** Use with EndEventTime to bound a StartImport request, and limit imported trail events to only those events logged within a specified time period. When you specify a time range, CloudTrail checks the p */
    StartEventTime?: string;
}
/** The request to CloudTrail to start logging Amazon Web Services API calls for an account. */
export interface StartLoggingInput {
    /** Specifies the name or the CloudTrail ARN of the trail for which CloudTrail logs Amazon Web Services API calls. The following is the format of a trail ARN. arn:aws:cloudtrail:us-east-2:123456789012:tra */
    Name: string;
}
export interface StartQueryInput {
    /** The URI for the S3 bucket where CloudTrail delivers the query results. */
    DeliveryS3Uri?: string;
    /** The account ID of the event data store owner. */
    EventDataStoreOwnerAccountId?: string;
    /** The alias that identifies a query template. */
    QueryAlias?: string;
    /** The query parameters for the specified QueryAlias. */
    QueryParameters?: string[];
    /** The SQL code of your query. */
    QueryStatement?: string;
}
export interface StopEventDataStoreIngestionInput {
    /** The ARN (or ID suffix of the ARN) of the event data store for which you want to stop ingestion. */
    EventDataStore: string;
}
export interface StopImportInput {
    /** The ID of the import. */
    ImportId: string;
}
/** Passes the request to CloudTrail to stop logging Amazon Web Services API calls for the specified account. */
export interface StopLoggingInput {
    /** Specifies the name or the CloudTrail ARN of the trail for which CloudTrail will stop logging Amazon Web Services API calls. The following is the format of a trail ARN. arn:aws:cloudtrail:us-east-2:123 */
    Name: string;
}
export interface UpdateChannelInput {
    /** The ARN or ID (the ARN suffix) of the channel that you want to update. */
    Channel: string;
    /** The ARNs of event data stores that you want to log events arriving through the channel. */
    Destinations?: Destination[];
    /** Changes the name of the channel. */
    Name?: string;
}
export interface UpdateDashboardInput {
    /** The name or ARN of the dashboard. */
    DashboardId: string;
    /** The refresh schedule configuration for the dashboard. */
    RefreshSchedule?: RefreshSchedule;
    /** Specifies whether termination protection is enabled for the dashboard. If termination protection is enabled, you cannot delete the dashboard until termination protection is disabled. */
    TerminationProtectionEnabled?: boolean;
    /** An array of widgets for the dashboard. A custom dashboard can have a maximum of 10 widgets. To add new widgets, pass in an array that includes the existing widgets along with any new widgets. Run the  */
    Widgets?: RequestWidget[];
}
export interface UpdateEventDataStoreInput {
    /** The ARN (or the ID suffix of the ARN) of the event data store that you want to update. */
    EventDataStore: string;
    /** The advanced event selectors used to select events for the event data store. You can configure up to five advanced event selectors for each event data store. */
    AdvancedEventSelectors?: AdvancedEventSelector[];
    /** You can't change the billing mode from EXTENDABLE_RETENTION_PRICING to FIXED_RETENTION_PRICING. If BillingMode is set to EXTENDABLE_RETENTION_PRICING and you want to use FIXED_RETENTION_PRICING instea */
    BillingMode?: 'EXTENDABLE_RETENTION_PRICING' | 'FIXED_RETENTION_PRICING';
    /** Specifies the KMS key ID to use to encrypt the events delivered by CloudTrail. The value can be an alias name prefixed by alias/, a fully specified ARN to an alias, a fully specified ARN to a key, or  */
    KmsKeyId?: string;
    /** Specifies whether an event data store collects events from all Regions, or only from the Region in which it was created. */
    MultiRegionEnabled?: boolean;
    /** The event data store name. */
    Name?: string;
    /** Specifies whether an event data store collects events logged for an organization in Organizations. Only the management account for the organization can convert an organization event data store to a no */
    OrganizationEnabled?: boolean;
    /** The retention period of the event data store, in days. If BillingMode is set to EXTENDABLE_RETENTION_PRICING, you can set a retention period of up to 3653 days, the equivalent of 10 years. If BillingM */
    RetentionPeriod?: number;
    /** Indicates that termination protection is enabled and the event data store cannot be automatically deleted. */
    TerminationProtectionEnabled?: boolean;
}
/** Specifies settings to update for the trail. */
export interface UpdateTrailInput {
    /** Specifies the name of the trail or trail ARN. If Name is a trail name, the string must meet the following requirements: Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores ( */
    Name: string;
    /** Specifies a log group name using an Amazon Resource Name (ARN), a unique identifier that represents the log group to which CloudTrail logs are delivered. You must use a log group that exists in your a */
    CloudWatchLogsLogGroupArn?: string;
    /** Specifies the role for the CloudWatch Logs endpoint to assume to write to a user's log group. You must use a role that exists in your account. */
    CloudWatchLogsRoleArn?: string;
    /** Specifies whether log file validation is enabled. The default is false. When you disable log file integrity validation, the chain of digest files is broken after one hour. CloudTrail does not create d */
    EnableLogFileValidation?: boolean;
    /** Specifies whether the trail is publishing events from global services such as IAM to the log files. */
    IncludeGlobalServiceEvents?: boolean;
    /** Specifies whether the trail applies only to the current Region or to all Regions. The default is false. If the trail exists only in the current Region and this value is set to true, shadow trails (rep */
    IsMultiRegionTrail?: boolean;
    /** Specifies whether the trail is applied to all accounts in an organization in Organizations, or only for the current Amazon Web Services account. The default is false, and cannot be true unless the cal */
    IsOrganizationTrail?: boolean;
    /** Specifies the KMS key ID to use to encrypt the logs and digest files delivered by CloudTrail. The value can be an alias name prefixed by "alias/", a fully specified ARN to an alias, a fully specified  */
    KmsKeyId?: string;
    /** Specifies the name of the Amazon S3 bucket designated for publishing log files. See Amazon S3 Bucket naming rules. */
    S3BucketName?: string;
    /** Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated for log file delivery. For more information, see Finding Your CloudTrail Log Files. The maximum length is */
    S3KeyPrefix?: string;
    /** Specifies the name or ARN of the Amazon SNS topic defined for notification of log file delivery. The maximum length is 256 characters. */
    SnsTopicName?: string;
}
/** CloudTrail service binding for Step Functions SDK integrations. */
export declare class CloudTrail {
    constructor();
    addTags<T>(params: AddTagsInput): Promise<T>;
    cancelQuery<T>(params: CancelQueryInput): Promise<T>;
    createChannel<T>(params: CreateChannelInput): Promise<T>;
    createDashboard<T>(params: CreateDashboardInput): Promise<T>;
    createEventDataStore<T>(params: CreateEventDataStoreInput): Promise<T>;
    createTrail<T>(params: CreateTrailInput): Promise<T>;
    deleteChannel<T>(params: DeleteChannelInput): Promise<T>;
    deleteDashboard<T>(params: DeleteDashboardInput): Promise<T>;
    deleteEventDataStore<T>(params: DeleteEventDataStoreInput): Promise<T>;
    deleteResourcePolicy<T>(params: DeleteResourcePolicyInput): Promise<T>;
    deleteTrail<T>(params: DeleteTrailInput): Promise<T>;
    deregisterOrganizationDelegatedAdmin<T>(params: DeregisterOrganizationDelegatedAdminInput): Promise<T>;
    describeQuery<T>(params: DescribeQueryInput): Promise<T>;
    describeTrails<T>(params: DescribeTrailsInput): Promise<T>;
    disableFederation<T>(params: DisableFederationInput): Promise<T>;
    enableFederation<T>(params: EnableFederationInput): Promise<T>;
    generateQuery<T>(params: GenerateQueryInput): Promise<T>;
    getChannel<T>(params: GetChannelInput): Promise<T>;
    getDashboard<T>(params: GetDashboardInput): Promise<T>;
    getEventConfiguration<T>(params: GetEventConfigurationInput): Promise<T>;
    getEventDataStore<T>(params: GetEventDataStoreInput): Promise<T>;
    getEventSelectors<T>(params: GetEventSelectorsInput): Promise<T>;
    getImport<T>(params: GetImportInput): Promise<T>;
    getInsightSelectors<T>(params: GetInsightSelectorsInput): Promise<T>;
    getQueryResults<T>(params: GetQueryResultsInput): Promise<T>;
    getResourcePolicy<T>(params: GetResourcePolicyInput): Promise<T>;
    getTrail<T>(params: GetTrailInput): Promise<T>;
    getTrailStatus<T>(params: GetTrailStatusInput): Promise<T>;
    listChannels<T>(params: ListChannelsInput): Promise<T>;
    listDashboards<T>(params: ListDashboardsInput): Promise<T>;
    listEventDataStores<T>(params: ListEventDataStoresInput): Promise<T>;
    listImportFailures<T>(params: ListImportFailuresInput): Promise<T>;
    listImports<T>(params: ListImportsInput): Promise<T>;
    listInsightsData<T>(params: ListInsightsDataInput): Promise<T>;
    listInsightsMetricData<T>(params: ListInsightsMetricDataInput): Promise<T>;
    listPublicKeys<T>(params: ListPublicKeysInput): Promise<T>;
    listQueries<T>(params: ListQueriesInput): Promise<T>;
    listTags<T>(params: ListTagsInput): Promise<T>;
    listTrails<T>(params: ListTrailsInput): Promise<T>;
    lookupEvents<T>(params: LookupEventsInput): Promise<T>;
    putEventConfiguration<T>(params: PutEventConfigurationInput): Promise<T>;
    putEventSelectors<T>(params: PutEventSelectorsInput): Promise<T>;
    putInsightSelectors<T>(params: PutInsightSelectorsInput): Promise<T>;
    putResourcePolicy<T>(params: PutResourcePolicyInput): Promise<T>;
    registerOrganizationDelegatedAdmin<T>(params: RegisterOrganizationDelegatedAdminInput): Promise<T>;
    removeTags<T>(params: RemoveTagsInput): Promise<T>;
    restoreEventDataStore<T>(params: RestoreEventDataStoreInput): Promise<T>;
    searchSampleQueries<T>(params: SearchSampleQueriesInput): Promise<T>;
    startDashboardRefresh<T>(params: StartDashboardRefreshInput): Promise<T>;
    startEventDataStoreIngestion<T>(params: StartEventDataStoreIngestionInput): Promise<T>;
    startImport<T>(params: StartImportInput): Promise<T>;
    startLogging<T>(params: StartLoggingInput): Promise<T>;
    startQuery<T>(params: StartQueryInput): Promise<T>;
    stopEventDataStoreIngestion<T>(params: StopEventDataStoreIngestionInput): Promise<T>;
    stopImport<T>(params: StopImportInput): Promise<T>;
    stopLogging<T>(params: StopLoggingInput): Promise<T>;
    updateChannel<T>(params: UpdateChannelInput): Promise<T>;
    updateDashboard<T>(params: UpdateDashboardInput): Promise<T>;
    updateEventDataStore<T>(params: UpdateEventDataStoreInput): Promise<T>;
    updateTrail<T>(params: UpdateTrailInput): Promise<T>;
}
//# sourceMappingURL=CloudTrail.d.ts.map