import * as core from "@terrascript/core";
export interface ActionConditionArgs extends core.SchemaArgs {
    action: string | core.StringOut;
}
export declare class ActionCondition extends core.Schema<ActionConditionArgs> {
    action: string | core.StringOut;
}
export interface LabelNameConditionArgs extends core.SchemaArgs {
    labelName: string | core.StringOut;
}
export declare class LabelNameCondition extends core.Schema<LabelNameConditionArgs> {
    labelName: string | core.StringOut;
}
export interface ConditionArgs extends core.SchemaArgs {
    actionCondition?: ActionCondition;
    labelNameCondition?: LabelNameCondition;
}
export declare class Condition extends core.Schema<ConditionArgs> {
    actionCondition?: ActionCondition;
    labelNameCondition?: LabelNameCondition;
}
export interface FilterArgs extends core.SchemaArgs {
    behavior: string | core.StringOut;
    condition: core.Array<Condition> | core.ArrayOut<Condition>;
    requirement: string | core.StringOut;
}
export declare class Filter extends core.Schema<FilterArgs> {
    behavior: string | core.StringOut;
    condition: core.Array<Condition> | core.ArrayOut<Condition>;
    requirement: string | core.StringOut;
}
export interface LoggingFilterArgs extends core.SchemaArgs {
    defaultBehavior: string | core.StringOut;
    filter: core.Array<Filter> | core.ArrayOut<Filter>;
}
export declare class LoggingFilter extends core.Schema<LoggingFilterArgs> {
    defaultBehavior: string | core.StringOut;
    filter: core.Array<Filter> | core.ArrayOut<Filter>;
}
export interface AllQueryArgumentsArgs extends core.SchemaArgs {
}
export declare class AllQueryArguments extends core.Schema<AllQueryArgumentsArgs> {
}
export interface BodyArgs extends core.SchemaArgs {
}
export declare class Body extends core.Schema<BodyArgs> {
}
export interface MethodArgs extends core.SchemaArgs {
}
export declare class Method extends core.Schema<MethodArgs> {
}
export interface QueryStringArgs extends core.SchemaArgs {
}
export declare class QueryString extends core.Schema<QueryStringArgs> {
}
export interface SingleHeaderArgs extends core.SchemaArgs {
    name: string | core.StringOut;
}
export declare class SingleHeader extends core.Schema<SingleHeaderArgs> {
    name: string | core.StringOut;
}
export interface SingleQueryArgumentArgs extends core.SchemaArgs {
    name: string | core.StringOut;
}
export declare class SingleQueryArgument extends core.Schema<SingleQueryArgumentArgs> {
    name: string | core.StringOut;
}
export interface UriPathArgs extends core.SchemaArgs {
}
export declare class UriPath extends core.Schema<UriPathArgs> {
}
export interface RedactedFieldsArgs extends core.SchemaArgs {
    allQueryArguments?: AllQueryArguments;
    body?: Body;
    method?: Method;
    queryString?: QueryString;
    singleHeader?: SingleHeader;
    singleQueryArgument?: SingleQueryArgument;
    uriPath?: UriPath;
}
export declare class RedactedFields extends core.Schema<RedactedFieldsArgs> {
    allQueryArguments?: AllQueryArguments;
    body?: Body;
    method?: Method;
    queryString?: QueryString;
    singleHeader?: SingleHeader;
    singleQueryArgument?: SingleQueryArgument;
    uriPath?: UriPath;
}
export interface V2WebAclLoggingConfigurationArgs extends core.ResourceArgs {
    logDestinationConfigs: core.Array<string> | core.ArrayOut<core.StringOut>;
    loggingFilter?: LoggingFilter;
    redactedFields?: core.Array<RedactedFields> | core.ArrayOut<RedactedFields>;
    resourceArn: string | core.StringOut;
}
export declare class V2WebAclLoggingConfiguration extends core.Resource<V2WebAclLoggingConfigurationArgs> {
    id: string | core.StringOut;
    logDestinationConfigs: core.Array<string> | core.ArrayOut<core.StringOut>;
    loggingFilter?: LoggingFilter;
    redactedFields?: core.Array<RedactedFields> | core.ArrayOut<RedactedFields>;
    resourceArn: string | core.StringOut;
    constructor(name: string, args?: V2WebAclLoggingConfigurationArgs);
    getNamespace(): string;
}
//# sourceMappingURL=v2_web_acl_logging_configuration.d.ts.map