diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldformat.allowsnumericalaggregations.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldformat.allowsnumericalaggregations.md
new file mode 100644
index 0000000000000..454a816a60171
--- /dev/null
+++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldformat.allowsnumericalaggregations.md
@@ -0,0 +1,11 @@
+
+
+[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [FieldFormat](./kibana-plugin-plugins-data-public.fieldformat.md) > [allowsNumericalAggregations](./kibana-plugin-plugins-data-public.fieldformat.allowsnumericalaggregations.md)
+
+## FieldFormat.allowsNumericalAggregations property
+
+Signature:
+
+```typescript
+allowsNumericalAggregations?: boolean;
+```
diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldformat.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldformat.md
index b53e301c46c1c..c956ffffd85ec 100644
--- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldformat.md
+++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldformat.md
@@ -21,6 +21,7 @@ export declare abstract class FieldFormat
| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [\_params](./kibana-plugin-plugins-data-public.fieldformat._params.md) | | any
| |
+| [allowsNumericalAggregations](./kibana-plugin-plugins-data-public.fieldformat.allowsnumericalaggregations.md) | | boolean
| |
| [convertObject](./kibana-plugin-plugins-data-public.fieldformat.convertobject.md) | | FieldFormatConvert | undefined
| {FieldFormatConvert} have to remove the private because of https://github.com/Microsoft/TypeScript/issues/17293 |
| [fieldType](./kibana-plugin-plugins-data-public.fieldformat.fieldtype.md) | static
| string | string[]
| {string} - Field Format Type |
| [getConfig](./kibana-plugin-plugins-data-public.fieldformat.getconfig.md) | | FieldFormatsGetConfigFn | undefined
| |
diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldformat.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldformat.md
index 0937706d6b0e9..4fe738ddef5dc 100644
--- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldformat.md
+++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldformat.md
@@ -7,5 +7,5 @@
Signature:
```typescript
-export declare type IFieldFormat = PublicMethodsOf;
+export declare type IFieldFormat = FieldFormat;
```
diff --git a/scripts/functional_tests.js b/scripts/functional_tests.js
index 196a13fbb2133..632a760d605b0 100644
--- a/scripts/functional_tests.js
+++ b/scripts/functional_tests.js
@@ -24,6 +24,7 @@ const alwaysImportedTests = [
require.resolve('../test/ui_capabilities/newsfeed_err/config.ts'),
require.resolve('../test/new_visualize_flow/config.ts'),
require.resolve('../test/security_functional/config.ts'),
+ require.resolve('../test/functional/config.legacy.ts'),
];
// eslint-disable-next-line no-restricted-syntax
const onlyNotInCoverageTests = [
diff --git a/src/plugins/data/common/field_formats/field_format.ts b/src/plugins/data/common/field_formats/field_format.ts
index 15ecf6e4fc3ef..e999e80d26e98 100644
--- a/src/plugins/data/common/field_formats/field_format.ts
+++ b/src/plugins/data/common/field_formats/field_format.ts
@@ -83,6 +83,7 @@ export abstract class FieldFormat {
* @private
*/
public type: any = this.constructor;
+ public allowsNumericalAggregations?: boolean;
protected readonly _params: any;
protected getConfig: FieldFormatsGetConfigFn | undefined;
diff --git a/src/plugins/data/common/field_formats/types.ts b/src/plugins/data/common/field_formats/types.ts
index 5a830586b8d05..90d2c1ed38245 100644
--- a/src/plugins/data/common/field_formats/types.ts
+++ b/src/plugins/data/common/field_formats/types.ts
@@ -16,7 +16,6 @@
* specific language governing permissions and limitations
* under the License.
*/
-import { PublicMethodsOf } from '@kbn/utility-types';
import { GetConfigFn } from '../types';
import { FieldFormat } from './field_format';
import { FieldFormatsRegistry } from './field_formats_registry';
@@ -77,7 +76,7 @@ export interface FieldFormatConfig {
export type FieldFormatsGetConfigFn = GetConfigFn;
-export type IFieldFormat = PublicMethodsOf;
+export type IFieldFormat = FieldFormat;
/**
* @string id type is needed for creating custom converters.
diff --git a/src/plugins/data/public/public.api.md b/src/plugins/data/public/public.api.md
index 35546c33aaa80..656034546d02f 100644
--- a/src/plugins/data/public/public.api.md
+++ b/src/plugins/data/public/public.api.md
@@ -850,6 +850,8 @@ export const extractSearchSourceReferences: (state: SearchSourceFields) => [Sear
export abstract class FieldFormat {
// Warning: (ae-forgotten-export) The symbol "IFieldFormatMetaParams" needs to be exported by the entry point index.d.ts
constructor(_params?: IFieldFormatMetaParams, getConfig?: FieldFormatsGetConfigFn);
+ // (undocumented)
+ allowsNumericalAggregations?: boolean;
// Warning: (ae-forgotten-export) The symbol "HtmlContextTypeOptions" needs to be exported by the entry point index.d.ts
// Warning: (ae-forgotten-export) The symbol "TextContextTypeOptions" needs to be exported by the entry point index.d.ts
convert(value: any, contentType?: FieldFormatsContentType, options?: HtmlContextTypeOptions | TextContextTypeOptions): string;
@@ -1091,7 +1093,7 @@ export type IEsSearchResponse