[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunction](./kibana-plugin-plugins-expressions-server.expressionfunction.md)
## ExpressionFunction class
Signature:
```typescript
export declare class ExpressionFunction implements PersistableState
```
## Constructors
| Constructor | Modifiers | Description |
| --- | --- | --- |
| [(constructor)(functionDefinition)](./kibana-plugin-plugins-expressions-server.expressionfunction._constructor_.md) | | Constructs a new instance of the ExpressionFunction
class |
## Properties
| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [accepts](./kibana-plugin-plugins-expressions-server.expressionfunction.accepts.md) | | (type: string) => boolean
| |
| [aliases](./kibana-plugin-plugins-expressions-server.expressionfunction.aliases.md) | | string[]
| Aliases that can be used instead of name
. |
| [args](./kibana-plugin-plugins-expressions-server.expressionfunction.args.md) | | Record<string, ExpressionFunctionParameter>
| Specification of expression function parameters. |
| [disabled](./kibana-plugin-plugins-expressions-server.expressionfunction.disabled.md) | | boolean
| |
| [extract](./kibana-plugin-plugins-expressions-server.expressionfunction.extract.md) | | (state: ExpressionAstFunction['arguments']) => {
state: ExpressionAstFunction['arguments'];
references: SavedObjectReference[];
}
| |
| [fn](./kibana-plugin-plugins-expressions-server.expressionfunction.fn.md) | | (input: ExpressionValue, params: Record<string, any>, handlers: object) => ExpressionValue
| Function to run function (context, args) |
| [help](./kibana-plugin-plugins-expressions-server.expressionfunction.help.md) | | string
| A short help text. |
| [inject](./kibana-plugin-plugins-expressions-server.expressionfunction.inject.md) | | (state: ExpressionAstFunction['arguments'], references: SavedObjectReference[]) => ExpressionAstFunction['arguments']
| |
| [inputTypes](./kibana-plugin-plugins-expressions-server.expressionfunction.inputtypes.md) | | string[] | undefined
| Type of inputs that this function supports. |
| [migrations](./kibana-plugin-plugins-expressions-server.expressionfunction.migrations.md) | | {
[key: string]: (state: SerializableRecord) => SerializableRecord;
}
| |
| [name](./kibana-plugin-plugins-expressions-server.expressionfunction.name.md) | | string
| Name of function |
| [telemetry](./kibana-plugin-plugins-expressions-server.expressionfunction.telemetry.md) | | (state: ExpressionAstFunction['arguments'], telemetryData: Record<string, any>) => Record<string, any>
| |
| [type](./kibana-plugin-plugins-expressions-server.expressionfunction.type.md) | | string
| Return type of function. This SHOULD be supplied. We use it for UI and autocomplete hinting. We may also use it for optimizations in the future. |