import { CreateElement, VNode } from 'vue';
import { InputProps, InputRenderData } from '../types/fields/Field';
import { Field } from './Field';
import { ComponentModule } from '../types/components';
export declare class RenderableField extends Field {
/**
* Display component to render when displaying value with
*/
get displayComponent(): Promise;
/**
* Async function to prepare before displayRender gets called
* Can return any data which needs to be resolved for displayRender
*/
prepareDisplayRender(renderProps?: object | null): Promise;
/**
* Simple Vue render function when using default displayComponent when displaying value with
*/
displayRender(h: CreateElement, renderData: any): VNode;
/**
* Input component to render when showing input for field with
*/
get inputComponent(): Promise;
/**
* Async function to prepare before inputRender gets called
* Can return any data which needs to be resolved for inputRender
*/
prepareInputRender(inputProps: InputProps, renderProps?: object | null): Promise;
/**
* Simple Vue render function when using default inputComponent for input of field value with
*/
inputRender(h: CreateElement, renderData: InputRenderData): VNode;
}