import { ISchema } from '@tachybase/schema';
import { CollectionFieldInterface } from '../../data-source/collection-field-interface/CollectionFieldInterface';
export declare class SelectFieldInterface extends CollectionFieldInterface {
    name: string;
    type: string;
    group: string;
    order: number;
    title: string;
    sortable: boolean;
    default: {
        type: string;
        uiSchema: {
            type: string;
            'x-component': string;
            enum: any[];
        };
    };
    availableTypes: string[];
    hasDefaultValue: boolean;
    properties: {
        'uiSchema.enum': import("@tachybase/schema").Stringify<{
            [key: symbol]: any;
            [key: `x-${string}`]: any;
            [key: `x-${number}`]: any;
            version?: string;
            name?: import("@tachybase/schema").SchemaKey;
            title?: any;
            description?: any;
            default?: any;
            readOnly?: boolean;
            writeOnly?: boolean;
            type?: import("@tachybase/schema").SchemaTypes;
            enum?: import("@tachybase/schema").SchemaEnum<any>;
            const?: any;
            multipleOf?: number;
            maximum?: number;
            exclusiveMaximum?: number;
            minimum?: number;
            exclusiveMinimum?: number;
            maxLength?: number;
            minLength?: number;
            pattern?: string | RegExp;
            maxItems?: number;
            minItems?: number;
            uniqueItems?: boolean;
            maxProperties?: number;
            minProperties?: number;
            required?: string[] | boolean | string;
            format?: string;
            $ref?: string;
            $namespace?: string;
            definitions?: import("@tachybase/schema").SchemaProperties<any, any, any, any, any, any, any, any>;
            properties?: import("@tachybase/schema").SchemaProperties<any, any, any, any, any, any, any, any>;
            items?: import("@tachybase/schema").SchemaItems<any, any, any, any, any, any, any, any>;
            additionalItems?: import("@tachybase/schema").Stringify</*elided*/ any>;
            patternProperties?: import("@tachybase/schema").SchemaProperties<any, any, any, any, any, any, any, any>;
            additionalProperties?: import("@tachybase/schema").Stringify</*elided*/ any>;
            "x-value"?: any;
            "x-index"?: number;
            "x-pattern"?: any;
            "x-display"?: any;
            "x-validator"?: any;
            "x-decorator"?: any;
            "x-decorator-props"?: any;
            "x-component"?: any;
            "x-component-props"?: any;
            "x-reactions"?: import("@tachybase/schema").SchemaReactions<any>;
            "x-content"?: any;
            "x-data"?: any;
            "x-visible"?: boolean;
            "x-hidden"?: boolean;
            "x-disabled"?: boolean;
            "x-editable"?: boolean;
            "x-read-only"?: boolean;
            "x-read-pretty"?: boolean;
            "x-compile-omitted"?: string[];
        }>;
        '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;
            schema: {
                'x-component': string;
                'x-component-props'?: undefined;
            };
            noValue?: undefined;
        } | {
            label: string;
            value: string;
            schema: {
                'x-component': string;
                'x-component-props'?: undefined;
            };
            selected?: undefined;
            noValue?: undefined;
        } | {
            label: string;
            value: string;
            schema: {
                'x-component': string;
                'x-component-props': {
                    mode: string;
                };
            };
            selected?: undefined;
            noValue?: undefined;
        } | {
            label: string;
            value: string;
            noValue: boolean;
            selected?: undefined;
            schema?: undefined;
        })[];
    };
    titleUsable: boolean;
    schemaInitialize(schema: ISchema, { block }: {
        block: any;
    }): void;
}
