import { ISchema } from '@tachybase/schema';
import { CollectionFieldInterface } from '../../data-source/collection-field-interface/CollectionFieldInterface';
export declare class InputFieldInterface extends CollectionFieldInterface {
    name: string;
    type: string;
    group: string;
    order: number;
    title: string;
    sortable: boolean;
    default: {
        interface: string;
        type: string;
        uiSchema: {
            type: string;
            'x-component': string;
        };
    };
    availableTypes: string[];
    hasDefaultValue: boolean;
    properties: {
        layout: {
            type: string;
            title: string;
            'x-component': string;
            'x-decorator': string;
            'x-decorator-props': {
                style: {
                    marginBottom: string;
                };
            };
            properties: {
                primaryKey: {
                    type: string;
                    'x-content': string;
                    'x-decorator': string;
                    'x-component': string;
                    'x-reactions': {
                        dependencies: string[];
                        when: string;
                        fulfill: {
                            state: {
                                value: boolean;
                            };
                        };
                    }[];
                };
                unique: {
                    type: string;
                    'x-content': string;
                    'x-decorator': string;
                    'x-component': string;
                    'x-reactions': {
                        dependencies: string[];
                        when: string;
                        fulfill: {
                            state: {
                                value: boolean;
                            };
                        };
                    }[];
                };
            };
        };
        'uiSchema.title': {
            type: string;
            title: string;
            required: boolean;
            'x-decorator': string;
            'x-component': string;
        };
        name: {
            type: string;
            title: string;
            required: boolean;
            'x-disabled': string;
            'x-decorator': string;
            'x-component': string;
            'x-validator': string;
            description: string;
        };
    };
    filterable: {
        operators: ({
            label: string;
            value: string;
            selected: boolean;
            noValue?: undefined;
        } | {
            label: string;
            value: string;
            selected?: undefined;
            noValue?: undefined;
        } | {
            label: string;
            value: string;
            noValue: boolean;
            selected?: undefined;
        })[];
    };
    titleUsable: boolean;
    schemaInitialize(schema: ISchema, { block }: {
        block: any;
    }): void;
    validateSchema(fieldSchema: any): {
        max: {
            type: string;
            title: string;
            minimum: number;
            'x-decorator': string;
            'x-component': string;
            'x-component-props': {
                precision: number;
            };
            'x-reactions': string;
        };
        min: {
            type: string;
            title: string;
            minimum: number;
            'x-decorator': string;
            'x-component': string;
            'x-component-props': {
                precision: number;
            };
            'x-reactions': {
                dependencies: string[];
                fulfill: {
                    state: {
                        selfErrors: string;
                    };
                };
            };
        };
        len: {
            type: string;
            title: string;
            minimum: number;
            'x-decorator': string;
            'x-component': string;
            'x-component-props': {
                precision: number;
            };
        };
        format: {
            type: string;
            title: string;
            'x-decorator': string;
            'x-component': string;
            'x-component-props': {
                allowClear: boolean;
            };
            enum: {
                label: string;
                value: string;
            }[];
        };
        pattern: {
            type: string;
            title: string;
            'x-decorator': string;
            'x-component': string;
            'x-component-props': {
                prefix: string;
                suffix: string;
            };
        };
    };
}
