import { ISchema } from '@tachybase/schema';
import { CollectionFieldInterface } from '../../data-source/collection-field-interface/CollectionFieldInterface';
export declare class PercentFieldInterface extends CollectionFieldInterface {
    name: string;
    type: string;
    group: string;
    order: number;
    title: string;
    sortable: boolean;
    default: {
        type: string;
        uiSchema: {
            type: string;
            'x-component': string;
            'x-component-props': {
                stringMode: boolean;
                step: string;
                addonAfter: string;
            };
        };
    };
    schemaInitialize(schema: ISchema, { field, block, readPretty, action }: {
        field: any;
        block: any;
        readPretty: any;
        action: any;
    }): void;
    availableTypes: string[];
    hasDefaultValue: boolean;
    properties: {
        unique: {
            type: string;
            'x-content': string;
            'x-decorator': string;
            'x-component': string;
            'x-reactions': {
                dependencies: string[];
                when: string;
                fulfill: {
                    state: {
                        value: boolean;
                    };
                };
            }[];
        };
        'uiSchema.x-component-props.step': {
            type: string;
            title: string;
            'x-component': string;
            'x-decorator': string;
            default: string;
            enum: {
                value: string;
                label: string;
            }[];
        };
        'uiSchema.x-component-props.addonBefore': {
            type: string;
            title: string;
            'x-decorator': string;
            'x-component': string;
        };
        'uiSchema.x-component-props.addonAfter': {
            type: string;
            title: string;
            'x-decorator': string;
            'x-component': 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;
            noValue?: undefined;
        } | {
            label: string;
            value: string;
            selected?: undefined;
            noValue?: undefined;
        } | {
            label: string;
            value: string;
            noValue: boolean;
            selected?: undefined;
        })[];
    };
    titleUsable: boolean;
    validateSchema: (fieldSchema: any) => {
        maxValue: {
            type: string;
            title: string;
            'x-decorator': string;
            'x-component': string;
            'x-component-props': {
                addonAfter: string;
            };
            'x-reactions': string;
        };
        minValue: {
            type: string;
            title: string;
            'x-decorator': string;
            'x-component': string;
            'x-component-props': {
                addonAfter: string;
            };
            'x-reactions': {
                dependencies: string[];
                fulfill: {
                    state: {
                        selfErrors: string;
                    };
                };
            };
        };
        percentFormat: {
            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;
            };
        };
    };
}
