import * as core from "@terrascript/core";
export interface DataResourceArgs extends core.SchemaArgs {
    type: string | core.StringOut;
    values: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class DataResource extends core.Schema<DataResourceArgs> {
    type: string | core.StringOut;
    values: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export interface EventSelectorArgs extends core.SchemaArgs {
    dataResource?: core.Array<DataResource> | core.ArrayOut<DataResource>;
    excludeManagementEventSources?: core.Array<string> | core.ArrayOut<core.StringOut>;
    includeManagementEvents?: boolean | core.BooleanOut;
    readWriteType?: string | core.StringOut;
}
export declare class EventSelector extends core.Schema<EventSelectorArgs> {
    dataResource?: core.Array<DataResource> | core.ArrayOut<DataResource>;
    excludeManagementEventSources?: core.Array<string> | core.ArrayOut<core.StringOut>;
    includeManagementEvents?: boolean | core.BooleanOut;
    readWriteType?: string | core.StringOut;
}
export interface FieldSelectorArgs extends core.SchemaArgs {
    endsWith?: core.Array<string> | core.ArrayOut<core.StringOut>;
    equals?: core.Array<string> | core.ArrayOut<core.StringOut>;
    field: string | core.StringOut;
    notEndsWith?: core.Array<string> | core.ArrayOut<core.StringOut>;
    notEquals?: core.Array<string> | core.ArrayOut<core.StringOut>;
    notStartsWith?: core.Array<string> | core.ArrayOut<core.StringOut>;
    startsWith?: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class FieldSelector extends core.Schema<FieldSelectorArgs> {
    endsWith?: core.Array<string> | core.ArrayOut<core.StringOut>;
    equals?: core.Array<string> | core.ArrayOut<core.StringOut>;
    field: string | core.StringOut;
    notEndsWith?: core.Array<string> | core.ArrayOut<core.StringOut>;
    notEquals?: core.Array<string> | core.ArrayOut<core.StringOut>;
    notStartsWith?: core.Array<string> | core.ArrayOut<core.StringOut>;
    startsWith?: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export interface AdvancedEventSelectorArgs extends core.SchemaArgs {
    fieldSelector: core.Array<FieldSelector> | core.ArrayOut<FieldSelector>;
    name?: string | core.StringOut;
}
export declare class AdvancedEventSelector extends core.Schema<AdvancedEventSelectorArgs> {
    fieldSelector: core.Array<FieldSelector> | core.ArrayOut<FieldSelector>;
    name?: string | core.StringOut;
}
export interface InsightSelectorArgs extends core.SchemaArgs {
    insightType: string | core.StringOut;
}
export declare class InsightSelector extends core.Schema<InsightSelectorArgs> {
    insightType: string | core.StringOut;
}
export interface MainArgs extends core.ResourceArgs {
    advancedEventSelector?: core.Array<AdvancedEventSelector> | core.ArrayOut<AdvancedEventSelector>;
    cloudWatchLogsGroupArn?: string | core.StringOut;
    cloudWatchLogsRoleArn?: string | core.StringOut;
    enableLogFileValidation?: boolean | core.BooleanOut;
    enableLogging?: boolean | core.BooleanOut;
    eventSelector?: core.Array<EventSelector> | core.ArrayOut<EventSelector>;
    includeGlobalServiceEvents?: boolean | core.BooleanOut;
    insightSelector?: core.Array<InsightSelector> | core.ArrayOut<InsightSelector>;
    isMultiRegionTrail?: boolean | core.BooleanOut;
    isOrganizationTrail?: boolean | core.BooleanOut;
    kmsKeyId?: string | core.StringOut;
    name: string | core.StringOut;
    s3BucketName: string | core.StringOut;
    s3KeyPrefix?: string | core.StringOut;
    snsTopicName?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class Main extends core.Resource<MainArgs> {
    advancedEventSelector?: core.Array<AdvancedEventSelector> | core.ArrayOut<AdvancedEventSelector>;
    arn: string | core.StringOut;
    cloudWatchLogsGroupArn?: string | core.StringOut;
    cloudWatchLogsRoleArn?: string | core.StringOut;
    enableLogFileValidation?: boolean | core.BooleanOut;
    enableLogging?: boolean | core.BooleanOut;
    eventSelector?: core.Array<EventSelector> | core.ArrayOut<EventSelector>;
    homeRegion: string | core.StringOut;
    id: string | core.StringOut;
    includeGlobalServiceEvents?: boolean | core.BooleanOut;
    insightSelector?: core.Array<InsightSelector> | core.ArrayOut<InsightSelector>;
    isMultiRegionTrail?: boolean | core.BooleanOut;
    isOrganizationTrail?: boolean | core.BooleanOut;
    kmsKeyId?: string | core.StringOut;
    name: string | core.StringOut;
    s3BucketName: string | core.StringOut;
    s3KeyPrefix?: string | core.StringOut;
    snsTopicName?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    constructor(name: string, args?: MainArgs);
    getNamespace(): string;
}
//# sourceMappingURL=main.d.ts.map