import { Statement, TextTransformations, FieldToMatch, SearchString, RuleAction, OverrideAction, Labels, VisibilityConfig, DefaultAction, FirewallManagerRuleGroups } from 'aws-sdk/clients/wafv2';
/**
 * WafV2WebAcl
 */
export declare const mapTextTransformations: (transforms?: TextTransformations) => {
    id: string;
    priority: number;
    type: string;
}[];
export declare const formatSearchString: (searchString?: SearchString) => string;
export declare const formatFieldToMatch: (fieldToMatch: FieldToMatch) => {
    id: string;
    singleHeader: {
        name: string;
    };
    singleQueryArgument: {
        name: string;
    };
};
export declare const formatRuleStatement: (statement?: Statement) => any;
export declare const formatRuleAction: (action?: RuleAction) => {
    block: {
        customResponse: {
            responseCode: number;
            customResponseBodyKey: string;
            responseHeaders: {
                id: string;
                name: string;
                value: string;
            }[];
        };
    };
    allow: {
        customRequestHandling: {
            insertHeaders: {
                id: string;
                name: string;
                value: string;
            }[];
        };
    };
    count: {
        customRequestHandling: {
            insertHeaders: {
                id: string;
                name: string;
                value: string;
            }[];
        };
    };
};
export declare const formatRuleOverrideAction: (action?: OverrideAction) => {
    count: {
        customRequestHandling: {
            insertHeaders: {
                id: string;
                name: string;
                value: string;
            }[];
        };
    };
    none: boolean;
};
export declare const formatRuleLabels: (labels: Labels) => {
    id: string;
    name: string;
}[];
export declare const formatVisibilityConfig: (config: VisibilityConfig) => {
    sampledRequestsEnabled: boolean;
    cloudWatchMetricsEnabled: boolean;
    metricName: string;
};
export declare const formatDefaultAction: (action?: DefaultAction) => {
    block: {
        customResponse: {
            responseCode: number;
            customResponseBodyKey: string;
            responseHeaders: {
                id: string;
                name: string;
                value: string;
            }[];
        };
    };
    allow: {
        customRequestHandling: {
            insertHeaders: {
                id: string;
                name: string;
                value: string;
            }[];
        };
    };
};
export declare const formatFirewallManagerRuleGroups: (ruleGroups: FirewallManagerRuleGroups) => {
    id: string;
    name: string;
    priority: number;
    firewallManagerStatement: {
        managedRuleGroupStatement: {
            vendorName: string;
            name: string;
            version: string;
            excludedRules: {
                id: string;
                name: string;
            }[];
            scopedDownStatement: any;
        };
        ruleGroupReferenceStatement: {
            arn: string;
            excludedRules: {
                id: string;
                name: string;
            }[];
        };
    };
    overrideAction: {
        count: {
            customRequestHandling: {
                insertHeaders: {
                    id: string;
                    name: string;
                    value: string;
                }[];
            };
        };
        none: boolean;
    };
    visibilityConfig: {
        sampledRequestsEnabled: boolean;
        cloudWatchMetricsEnabled: boolean;
        metricName: string;
    };
}[];
