import type { TFunction } from '@payloadcms/translations';
import type { Field, FieldBase } from '../../fields/config/types.js';
export type ClientFieldConfig = Omit<Field, 'access' | 'defaultValue' | 'hooks' | 'validate'>;
export type ServerOnlyFieldProperties = 'editor' | 'filterOptions' | 'label' | keyof Pick<FieldBase, 'access' | 'defaultValue' | 'hooks' | 'validate'>;
export type ServerOnlyFieldAdminProperties = keyof Pick<FieldBase['admin'], 'components' | 'condition' | 'description'>;
export declare const createClientFieldConfig: ({ field: incomingField, t, }: {
    field: Field;
    t: TFunction;
}) => {
    access?: {
        create?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        read?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        update?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
    };
    admin?: {
        className?: string;
        components?: {
            Cell?: import("../../config/types.js").CustomComponent;
            Field?: import("../../config/types.js").CustomComponent;
            Filter?: import("react").ComponentType<any>;
        };
        condition?: import("../../fields/config/types.js").Condition<any, any>;
        description?: import("../../admin/types.js").Description;
        disableBulkEdit?: boolean;
        disabled?: boolean;
        hidden?: boolean;
        position?: "sidebar";
        readOnly?: boolean;
        style?: import("react").CSSProperties;
        width?: string;
    } & {
        components?: {
            RowLabel?: import("../../admin/types.js").RowLabel;
        } & {
            Cell?: import("../../config/types.js").CustomComponent;
            Field?: import("../../config/types.js").CustomComponent;
            Filter?: import("react").ComponentType<any>;
        };
        initCollapsed?: boolean;
    };
    custom?: Record<string, any>;
    defaultValue?: any;
    hidden?: boolean;
    hooks?: {
        afterChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        afterRead?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeDuplicate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeValidate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
    };
    index?: boolean;
    label?: string | false | import("../../config/types.js").LabelFunction | Record<string, string>;
    localized?: boolean;
    name: string;
    required?: boolean;
    saveToJWT?: string | boolean;
    unique?: boolean;
    validate?: import("../../fields/config/types.js").Validate<any, any, any, object>;
    dbName?: import("../../database/types.js").DBIdentifierName;
    fields: Field[];
    interfaceName?: string;
    labels?: import("../../fields/config/types.js").Labels;
    maxRows?: number;
    minRows?: number;
    type: "array";
} | {
    access?: {
        create?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        read?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        update?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
    };
    admin?: {
        className?: string;
        components?: {
            Cell?: import("../../config/types.js").CustomComponent;
            Field?: import("../../config/types.js").CustomComponent;
            Filter?: import("react").ComponentType<any>;
        };
        condition?: import("../../fields/config/types.js").Condition<any, any>;
        description?: import("../../admin/types.js").Description;
        disableBulkEdit?: boolean;
        disabled?: boolean;
        hidden?: boolean;
        position?: "sidebar";
        readOnly?: boolean;
        style?: import("react").CSSProperties;
        width?: string;
    } & {
        initCollapsed?: boolean;
    };
    custom?: Record<string, any>;
    defaultValue?: any;
    hidden?: boolean;
    hooks?: {
        afterChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        afterRead?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeDuplicate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeValidate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
    };
    index?: boolean;
    label?: string | false | import("../../config/types.js").LabelFunction | Record<string, string>;
    localized?: boolean;
    name: string;
    required?: boolean;
    saveToJWT?: string | boolean;
    unique?: boolean;
    validate?: import("../../fields/config/types.js").Validate<any, any, any, object>;
    blocks: import("../../fields/config/types.js").Block[];
    labels?: import("../../fields/config/types.js").Labels;
    maxRows?: number;
    minRows?: number;
    type: "blocks";
} | {
    access?: {
        create?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        read?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        update?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
    };
    admin?: {
        className?: string;
        components?: {
            Cell?: import("../../config/types.js").CustomComponent;
            Field?: import("../../config/types.js").CustomComponent;
            Filter?: import("react").ComponentType<any>;
        };
        condition?: import("../../fields/config/types.js").Condition<any, any>;
        description?: import("../../admin/types.js").Description;
        disableBulkEdit?: boolean;
        disabled?: boolean;
        hidden?: boolean;
        position?: "sidebar";
        readOnly?: boolean;
        style?: import("react").CSSProperties;
        width?: string;
    } & {
        components?: {
            Error?: import("../../config/types.js").CustomComponent<import("../../admin/types.js").ErrorProps>;
            Label?: import("../../config/types.js").CustomComponent<import("../../admin/types.js").LabelProps>;
            afterInput?: import("../../config/types.js").CustomComponent[];
            beforeInput?: import("../../config/types.js").CustomComponent[];
        };
    };
    custom?: Record<string, any>;
    defaultValue?: any;
    hidden?: boolean;
    hooks?: {
        afterChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        afterRead?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeDuplicate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeValidate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
    };
    index?: boolean;
    label?: string | false | import("../../config/types.js").LabelFunction | Record<string, string>;
    localized?: boolean;
    name: string;
    required?: boolean;
    saveToJWT?: string | boolean;
    unique?: boolean;
    validate?: import("../../fields/config/types.js").Validate<any, any, any, object>;
    type: "checkbox";
} | {
    custom?: Record<string, any>;
    hooks?: {
        afterChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        afterRead?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeDuplicate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeValidate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
    };
    name: string;
    access?: {
        create?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        read?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        update?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
    };
    defaultValue?: any;
    hidden?: boolean;
    index?: boolean;
    label?: string | false | import("../../config/types.js").LabelFunction | Record<string, string>;
    localized?: boolean;
    required?: boolean;
    saveToJWT?: string | boolean;
    unique?: boolean;
    validate?: import("../../fields/config/types.js").Validate<any, any, any, object>;
    admin?: {
        className?: string;
        components?: {
            Cell?: import("../../config/types.js").CustomComponent;
            Field?: import("../../config/types.js").CustomComponent;
            Filter?: import("react").ComponentType<any>;
        };
        condition?: import("../../fields/config/types.js").Condition<any, any>;
        description?: import("../../admin/types.js").Description;
        disableBulkEdit?: boolean;
        disabled?: boolean;
        hidden?: boolean;
        position?: "sidebar";
        readOnly?: boolean;
        style?: import("react").CSSProperties;
        width?: string;
    } & {
        components?: {
            Error?: import("../../config/types.js").CustomComponent<import("../../admin/types.js").ErrorProps>;
            Label?: import("../../config/types.js").CustomComponent<import("../../admin/types.js").LabelProps>;
        };
        editorOptions?: import("monaco-editor").editor.IStandaloneEditorConstructionOptions;
        language?: string;
    };
    maxLength?: number;
    minLength?: number;
    type: "code";
} | {
    admin?: {
        className?: string;
        components?: {
            Cell?: import("../../config/types.js").CustomComponent;
            Field?: import("../../config/types.js").CustomComponent;
            Filter?: import("react").ComponentType<any>;
        };
        condition?: import("../../fields/config/types.js").Condition<any, any>;
        description?: import("../../admin/types.js").Description;
        disableBulkEdit?: boolean;
        disabled?: boolean;
        hidden?: boolean;
        position?: "sidebar";
        readOnly?: boolean;
        style?: import("react").CSSProperties;
        width?: string;
    } & {
        initCollapsed?: boolean;
    };
    custom?: Record<string, any>;
    hooks?: {
        afterChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        afterRead?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeDuplicate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeValidate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
    };
    access?: {
        create?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        read?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        update?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
    };
    defaultValue?: any;
    hidden?: boolean;
    index?: boolean;
    localized?: boolean;
    required?: boolean;
    saveToJWT?: string | boolean;
    unique?: boolean;
    validate?: import("../../fields/config/types.js").Validate<any, any, any, object>;
    fields: Field[];
    label: import("../../admin/types.js").RowLabel;
    type: "collapsible";
} | {
    access?: {
        create?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        read?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        update?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
    };
    admin?: {
        className?: string;
        components?: {
            Cell?: import("../../config/types.js").CustomComponent;
            Field?: import("../../config/types.js").CustomComponent;
            Filter?: import("react").ComponentType<any>;
        };
        condition?: import("../../fields/config/types.js").Condition<any, any>;
        description?: import("../../admin/types.js").Description;
        disableBulkEdit?: boolean;
        disabled?: boolean;
        hidden?: boolean;
        position?: "sidebar";
        readOnly?: boolean;
        style?: import("react").CSSProperties;
        width?: string;
    } & {
        components?: {
            Error?: import("../../config/types.js").CustomComponent<import("../../admin/types.js").ErrorProps>;
            Label?: import("../../config/types.js").CustomComponent<import("../../admin/types.js").LabelProps>;
            afterInput?: import("../../config/types.js").CustomComponent[];
            beforeInput?: import("../../config/types.js").CustomComponent[];
        };
        date?: import("../../admin/types.js").ConditionalDateProps;
        placeholder?: string | Record<string, string>;
    };
    custom?: Record<string, any>;
    defaultValue?: any;
    hidden?: boolean;
    hooks?: {
        afterChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        afterRead?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeDuplicate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeValidate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
    };
    index?: boolean;
    label?: string | false | import("../../config/types.js").LabelFunction | Record<string, string>;
    localized?: boolean;
    name: string;
    required?: boolean;
    saveToJWT?: string | boolean;
    unique?: boolean;
    validate?: import("../../fields/config/types.js").Validate<any, any, any, object>;
    type: "date";
} | {
    access?: {
        create?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        read?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        update?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
    };
    admin?: {
        className?: string;
        components?: {
            Cell?: import("../../config/types.js").CustomComponent;
            Field?: import("../../config/types.js").CustomComponent;
            Filter?: import("react").ComponentType<any>;
        };
        condition?: import("../../fields/config/types.js").Condition<any, any>;
        description?: import("../../admin/types.js").Description;
        disableBulkEdit?: boolean;
        disabled?: boolean;
        hidden?: boolean;
        position?: "sidebar";
        readOnly?: boolean;
        style?: import("react").CSSProperties;
        width?: string;
    } & {
        autoComplete?: string;
        components?: {
            Error?: import("../../config/types.js").CustomComponent<import("../../admin/types.js").ErrorProps>;
            Label?: import("../../config/types.js").CustomComponent<import("../../admin/types.js").LabelProps>;
            afterInput?: import("../../config/types.js").CustomComponent[];
            beforeInput?: import("../../config/types.js").CustomComponent[];
        };
        placeholder?: string | Record<string, string>;
    };
    custom?: Record<string, any>;
    defaultValue?: any;
    hidden?: boolean;
    hooks?: {
        afterChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        afterRead?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeDuplicate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeValidate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
    };
    index?: boolean;
    label?: string | false | import("../../config/types.js").LabelFunction | Record<string, string>;
    localized?: boolean;
    name: string;
    required?: boolean;
    saveToJWT?: string | boolean;
    unique?: boolean;
    validate?: import("../../fields/config/types.js").Validate<any, any, any, object>;
    type: "email";
} | {
    admin?: {
        className?: string;
        components?: {
            Cell?: import("../../config/types.js").CustomComponent;
            Field?: import("../../config/types.js").CustomComponent;
            Filter?: import("react").ComponentType<any>;
        };
        condition?: import("../../fields/config/types.js").Condition<any, any>;
        description?: import("../../admin/types.js").Description;
        disableBulkEdit?: boolean;
        disabled?: boolean;
        hidden?: boolean;
        position?: "sidebar";
        readOnly?: boolean;
        style?: import("react").CSSProperties;
        width?: string;
    } & {
        hideGutter?: boolean;
    };
    custom?: Record<string, any>;
    hooks?: {
        afterChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        afterRead?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeDuplicate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeValidate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
    };
    name: string;
    access?: {
        create?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        read?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        update?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
    };
    defaultValue?: any;
    hidden?: boolean;
    index?: boolean;
    label?: string | false | import("../../config/types.js").LabelFunction | Record<string, string>;
    localized?: boolean;
    saveToJWT?: string | boolean;
    unique?: boolean;
    validate?: import("../../fields/config/types.js").Validate<any, any, any, object>;
    fields: Field[];
    interfaceName?: string;
    type: "group";
} | {
    custom?: Record<string, any>;
    hooks?: {
        afterChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        afterRead?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeDuplicate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeValidate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
    };
    name: string;
    access?: {
        create?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        read?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        update?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
    };
    defaultValue?: any;
    hidden?: boolean;
    index?: boolean;
    label?: string | false | import("../../config/types.js").LabelFunction | Record<string, string>;
    localized?: boolean;
    required?: boolean;
    saveToJWT?: string | boolean;
    unique?: boolean;
    validate?: import("../../fields/config/types.js").Validate<any, any, any, object>;
    admin?: {
        className?: string;
        components?: {
            Cell?: import("../../config/types.js").CustomComponent;
            Field?: import("../../config/types.js").CustomComponent;
            Filter?: import("react").ComponentType<any>;
        };
        condition?: import("../../fields/config/types.js").Condition<any, any>;
        description?: import("../../admin/types.js").Description;
        disableBulkEdit?: boolean;
        disabled?: boolean;
        hidden?: boolean;
        position?: "sidebar";
        readOnly?: boolean;
        style?: import("react").CSSProperties;
        width?: string;
    } & {
        components?: {
            Error?: import("../../config/types.js").CustomComponent<import("../../admin/types.js").ErrorProps>;
            Label?: import("../../config/types.js").CustomComponent<import("../../admin/types.js").LabelProps>;
        };
        editorOptions?: import("monaco-editor").editor.IStandaloneEditorConstructionOptions;
    };
    type: "json";
} | {
    access?: {
        create?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        read?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        update?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
    };
    admin?: {
        className?: string;
        components?: {
            Cell?: import("../../config/types.js").CustomComponent;
            Field?: import("../../config/types.js").CustomComponent;
            Filter?: import("react").ComponentType<any>;
        };
        condition?: import("../../fields/config/types.js").Condition<any, any>;
        description?: import("../../admin/types.js").Description;
        disableBulkEdit?: boolean;
        disabled?: boolean;
        hidden?: boolean;
        position?: "sidebar";
        readOnly?: boolean;
        style?: import("react").CSSProperties;
        width?: string;
    } & {
        autoComplete?: string;
        components?: {
            Error?: import("../../config/types.js").CustomComponent<import("../../admin/types.js").ErrorProps>;
            Label?: import("../../config/types.js").CustomComponent<import("../../admin/types.js").LabelProps>;
            afterInput?: import("../../config/types.js").CustomComponent[];
            beforeInput?: import("../../config/types.js").CustomComponent[];
        };
        placeholder?: string | Record<string, string>;
        step?: number;
    };
    custom?: Record<string, any>;
    defaultValue?: any;
    hidden?: boolean;
    hooks?: {
        afterChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        afterRead?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeDuplicate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeValidate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
    };
    index?: boolean;
    label?: string | false | import("../../config/types.js").LabelFunction | Record<string, string>;
    localized?: boolean;
    name: string;
    required?: boolean;
    saveToJWT?: string | boolean;
    unique?: boolean;
    validate?: import("../../fields/config/types.js").Validate<any, any, any, object>;
    max?: number;
    min?: number;
    type: "number";
    hasMany: true;
    maxRows?: number;
    minRows?: number;
} | {
    access?: {
        create?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        read?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        update?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
    };
    admin?: {
        className?: string;
        components?: {
            Cell?: import("../../config/types.js").CustomComponent;
            Field?: import("../../config/types.js").CustomComponent;
            Filter?: import("react").ComponentType<any>;
        };
        condition?: import("../../fields/config/types.js").Condition<any, any>;
        description?: import("../../admin/types.js").Description;
        disableBulkEdit?: boolean;
        disabled?: boolean;
        hidden?: boolean;
        position?: "sidebar";
        readOnly?: boolean;
        style?: import("react").CSSProperties;
        width?: string;
    } & {
        autoComplete?: string;
        components?: {
            Error?: import("../../config/types.js").CustomComponent<import("../../admin/types.js").ErrorProps>;
            Label?: import("../../config/types.js").CustomComponent<import("../../admin/types.js").LabelProps>;
            afterInput?: import("../../config/types.js").CustomComponent[];
            beforeInput?: import("../../config/types.js").CustomComponent[];
        };
        placeholder?: string | Record<string, string>;
        step?: number;
    };
    custom?: Record<string, any>;
    defaultValue?: any;
    hidden?: boolean;
    hooks?: {
        afterChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        afterRead?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeDuplicate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeValidate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
    };
    index?: boolean;
    label?: string | false | import("../../config/types.js").LabelFunction | Record<string, string>;
    localized?: boolean;
    name: string;
    required?: boolean;
    saveToJWT?: string | boolean;
    unique?: boolean;
    validate?: import("../../fields/config/types.js").Validate<any, any, any, object>;
    max?: number;
    min?: number;
    type: "number";
    hasMany?: false;
    maxRows?: undefined;
    minRows?: undefined;
} | {
    access?: {
        create?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        read?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        update?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
    };
    admin?: {
        className?: string;
        components?: {
            Cell?: import("../../config/types.js").CustomComponent;
            Field?: import("../../config/types.js").CustomComponent;
            Filter?: import("react").ComponentType<any>;
        };
        condition?: import("../../fields/config/types.js").Condition<any, any>;
        description?: import("../../admin/types.js").Description;
        disableBulkEdit?: boolean;
        disabled?: boolean;
        hidden?: boolean;
        position?: "sidebar";
        readOnly?: boolean;
        style?: import("react").CSSProperties;
        width?: string;
    };
    custom?: Record<string, any>;
    defaultValue?: any;
    hidden?: boolean;
    hooks?: {
        afterChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        afterRead?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeDuplicate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeValidate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
    };
    index?: boolean;
    label?: string | false | import("../../config/types.js").LabelFunction | Record<string, string>;
    localized?: boolean;
    name: string;
    required?: boolean;
    saveToJWT?: string | boolean;
    unique?: boolean;
    validate?: import("../../fields/config/types.js").Validate<any, any, any, object>;
    type: "point";
} | {
    access?: {
        create?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        read?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        update?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
    };
    admin?: {
        className?: string;
        components?: {
            Cell?: import("../../config/types.js").CustomComponent;
            Field?: import("../../config/types.js").CustomComponent;
            Filter?: import("react").ComponentType<any>;
        };
        condition?: import("../../fields/config/types.js").Condition<any, any>;
        description?: import("../../admin/types.js").Description;
        disableBulkEdit?: boolean;
        disabled?: boolean;
        hidden?: boolean;
        position?: "sidebar";
        readOnly?: boolean;
        style?: import("react").CSSProperties;
        width?: string;
    } & {
        components?: {
            Error?: import("../../config/types.js").CustomComponent<import("../../admin/types.js").ErrorProps>;
            Label?: import("../../config/types.js").CustomComponent<import("../../admin/types.js").LabelProps>;
        };
        layout?: "horizontal" | "vertical";
    };
    custom?: Record<string, any>;
    defaultValue?: any;
    hidden?: boolean;
    hooks?: {
        afterChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        afterRead?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeDuplicate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeValidate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
    };
    index?: boolean;
    label?: string | false | import("../../config/types.js").LabelFunction | Record<string, string>;
    localized?: boolean;
    name: string;
    required?: boolean;
    saveToJWT?: string | boolean;
    unique?: boolean;
    validate?: import("../../fields/config/types.js").Validate<any, any, any, object>;
    dbName?: import("../../database/types.js").DBIdentifierName;
    enumName?: import("../../database/types.js").DBIdentifierName;
    options: import("../../fields/config/types.js").Option[];
    type: "radio";
} | {
    access?: {
        create?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        read?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        update?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
    };
    admin?: {
        className?: string;
        components?: {
            Cell?: import("../../config/types.js").CustomComponent;
            Field?: import("../../config/types.js").CustomComponent;
            Filter?: import("react").ComponentType<any>;
        };
        condition?: import("../../fields/config/types.js").Condition<any, any>;
        description?: import("../../admin/types.js").Description;
        disableBulkEdit?: boolean;
        disabled?: boolean;
        hidden?: boolean;
        position?: "sidebar";
        readOnly?: boolean;
        style?: import("react").CSSProperties;
        width?: string;
    } & {
        allowCreate?: boolean;
        components?: {
            Error?: import("../../config/types.js").CustomComponent<import("../../admin/types.js").ErrorProps>;
            Label?: import("../../config/types.js").CustomComponent<import("../../admin/types.js").LabelProps>;
        };
        isSortable?: boolean;
    } & {
        sortOptions?: {
            [collectionSlug: string]: string;
        };
    };
    custom?: Record<string, any>;
    defaultValue?: any;
    hidden?: boolean;
    hooks?: {
        afterChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        afterRead?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeDuplicate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeValidate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
    };
    index?: boolean;
    label?: string | false | import("../../config/types.js").LabelFunction | Record<string, string>;
    localized?: boolean;
    name: string;
    required?: boolean;
    saveToJWT?: string | boolean;
    unique?: boolean;
    validate?: import("../../fields/config/types.js").Validate<any, any, any, object>;
    filterOptions?: import("../../fields/config/types.js").FilterOptions<any>;
    hasMany: true;
    maxDepth?: number;
    type: "relationship";
    max?: number;
    maxRows?: number;
    min?: number;
    minRows?: number;
    relationTo: string[];
} | {
    access?: {
        create?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        read?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        update?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
    };
    admin?: {
        className?: string;
        components?: {
            Cell?: import("../../config/types.js").CustomComponent;
            Field?: import("../../config/types.js").CustomComponent;
            Filter?: import("react").ComponentType<any>;
        };
        condition?: import("../../fields/config/types.js").Condition<any, any>;
        description?: import("../../admin/types.js").Description;
        disableBulkEdit?: boolean;
        disabled?: boolean;
        hidden?: boolean;
        position?: "sidebar";
        readOnly?: boolean;
        style?: import("react").CSSProperties;
        width?: string;
    } & {
        allowCreate?: boolean;
        components?: {
            Error?: import("../../config/types.js").CustomComponent<import("../../admin/types.js").ErrorProps>;
            Label?: import("../../config/types.js").CustomComponent<import("../../admin/types.js").LabelProps>;
        };
        isSortable?: boolean;
    } & {
        sortOptions?: {
            [collectionSlug: string]: string;
        };
    };
    custom?: Record<string, any>;
    defaultValue?: any;
    hidden?: boolean;
    hooks?: {
        afterChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        afterRead?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeDuplicate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeValidate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
    };
    index?: boolean;
    label?: string | false | import("../../config/types.js").LabelFunction | Record<string, string>;
    localized?: boolean;
    name: string;
    required?: boolean;
    saveToJWT?: string | boolean;
    unique?: boolean;
    validate?: import("../../fields/config/types.js").Validate<any, any, any, object>;
    filterOptions?: import("../../fields/config/types.js").FilterOptions<any>;
    hasMany?: false;
    maxDepth?: number;
    type: "relationship";
    max?: undefined;
    maxRows?: undefined;
    min?: undefined;
    minRows?: undefined;
    relationTo: string[];
} | {
    access?: {
        create?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        read?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        update?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
    };
    admin?: {
        className?: string;
        components?: {
            Cell?: import("../../config/types.js").CustomComponent;
            Field?: import("../../config/types.js").CustomComponent;
            Filter?: import("react").ComponentType<any>;
        };
        condition?: import("../../fields/config/types.js").Condition<any, any>;
        description?: import("../../admin/types.js").Description;
        disableBulkEdit?: boolean;
        disabled?: boolean;
        hidden?: boolean;
        position?: "sidebar";
        readOnly?: boolean;
        style?: import("react").CSSProperties;
        width?: string;
    } & {
        allowCreate?: boolean;
        components?: {
            Error?: import("../../config/types.js").CustomComponent<import("../../admin/types.js").ErrorProps>;
            Label?: import("../../config/types.js").CustomComponent<import("../../admin/types.js").LabelProps>;
        };
        isSortable?: boolean;
    } & {
        sortOptions?: string;
    };
    custom?: Record<string, any>;
    defaultValue?: any;
    hidden?: boolean;
    hooks?: {
        afterChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        afterRead?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeDuplicate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeValidate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
    };
    index?: boolean;
    label?: string | false | import("../../config/types.js").LabelFunction | Record<string, string>;
    localized?: boolean;
    name: string;
    required?: boolean;
    saveToJWT?: string | boolean;
    unique?: boolean;
    validate?: import("../../fields/config/types.js").Validate<any, any, any, object>;
    filterOptions?: import("../../fields/config/types.js").FilterOptions<any>;
    hasMany: true;
    maxDepth?: number;
    type: "relationship";
    max?: number;
    maxRows?: number;
    min?: number;
    minRows?: number;
    relationTo: string;
} | {
    access?: {
        create?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        read?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        update?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
    };
    admin?: {
        className?: string;
        components?: {
            Cell?: import("../../config/types.js").CustomComponent;
            Field?: import("../../config/types.js").CustomComponent;
            Filter?: import("react").ComponentType<any>;
        };
        condition?: import("../../fields/config/types.js").Condition<any, any>;
        description?: import("../../admin/types.js").Description;
        disableBulkEdit?: boolean;
        disabled?: boolean;
        hidden?: boolean;
        position?: "sidebar";
        readOnly?: boolean;
        style?: import("react").CSSProperties;
        width?: string;
    } & {
        allowCreate?: boolean;
        components?: {
            Error?: import("../../config/types.js").CustomComponent<import("../../admin/types.js").ErrorProps>;
            Label?: import("../../config/types.js").CustomComponent<import("../../admin/types.js").LabelProps>;
        };
        isSortable?: boolean;
    } & {
        sortOptions?: string;
    };
    custom?: Record<string, any>;
    defaultValue?: any;
    hidden?: boolean;
    hooks?: {
        afterChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        afterRead?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeDuplicate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeValidate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
    };
    index?: boolean;
    label?: string | false | import("../../config/types.js").LabelFunction | Record<string, string>;
    localized?: boolean;
    name: string;
    required?: boolean;
    saveToJWT?: string | boolean;
    unique?: boolean;
    validate?: import("../../fields/config/types.js").Validate<any, any, any, object>;
    filterOptions?: import("../../fields/config/types.js").FilterOptions<any>;
    hasMany?: false;
    maxDepth?: number;
    type: "relationship";
    max?: undefined;
    maxRows?: undefined;
    min?: undefined;
    minRows?: undefined;
    relationTo: string;
} | {
    access?: {
        create?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        read?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        update?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
    };
    admin?: {
        className?: string;
        components?: {
            Cell?: import("../../config/types.js").CustomComponent;
            Field?: import("../../config/types.js").CustomComponent;
            Filter?: import("react").ComponentType<any>;
        };
        condition?: import("../../fields/config/types.js").Condition<any, any>;
        description?: import("../../admin/types.js").Description;
        disableBulkEdit?: boolean;
        disabled?: boolean;
        hidden?: boolean;
        position?: "sidebar";
        readOnly?: boolean;
        style?: import("react").CSSProperties;
        width?: string;
    } & {
        components?: {
            Error?: import("../../config/types.js").CustomComponent<import("../../admin/types.js").ErrorProps>;
            Label?: import("../../config/types.js").CustomComponent<import("../../admin/types.js").LabelProps>;
        };
    };
    custom?: Record<string, any>;
    defaultValue?: any;
    hidden?: boolean;
    hooks?: {
        afterChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        afterRead?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeDuplicate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeValidate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
    };
    index?: boolean;
    label?: string | false | import("../../config/types.js").LabelFunction | Record<string, string>;
    localized?: boolean;
    name: string;
    required?: boolean;
    saveToJWT?: string | boolean;
    unique?: boolean;
    validate?: import("../../fields/config/types.js").Validate<any, any, any, object>;
    editor?: import("../../admin/RichText.js").RichTextAdapter<any, any, any>;
    type: "richText";
} | {
    custom?: Record<string, any>;
    hooks?: {
        afterChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        afterRead?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeDuplicate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeValidate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
    };
    access?: {
        create?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        read?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        update?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
    };
    defaultValue?: any;
    hidden?: boolean;
    index?: boolean;
    localized?: boolean;
    required?: boolean;
    saveToJWT?: string | boolean;
    unique?: boolean;
    validate?: import("../../fields/config/types.js").Validate<any, any, any, object>;
    admin?: import("../../fields/config/types.js").RowAdmin;
    fields: Field[];
    type: "row";
} | {
    access?: {
        create?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        read?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        update?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
    };
    admin?: {
        className?: string;
        components?: {
            Cell?: import("../../config/types.js").CustomComponent;
            Field?: import("../../config/types.js").CustomComponent;
            Filter?: import("react").ComponentType<any>;
        };
        condition?: import("../../fields/config/types.js").Condition<any, any>;
        description?: import("../../admin/types.js").Description;
        disableBulkEdit?: boolean;
        disabled?: boolean;
        hidden?: boolean;
        position?: "sidebar";
        readOnly?: boolean;
        style?: import("react").CSSProperties;
        width?: string;
    } & {
        components?: {
            Error?: import("../../config/types.js").CustomComponent<import("../../admin/types.js").ErrorProps>;
            Label?: import("../../config/types.js").CustomComponent<import("../../admin/types.js").LabelProps>;
        };
        isClearable?: boolean;
        isSortable?: boolean;
    };
    custom?: Record<string, any>;
    defaultValue?: any;
    hidden?: boolean;
    hooks?: {
        afterChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        afterRead?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeDuplicate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeValidate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
    };
    index?: boolean;
    label?: string | false | import("../../config/types.js").LabelFunction | Record<string, string>;
    localized?: boolean;
    name: string;
    required?: boolean;
    saveToJWT?: string | boolean;
    unique?: boolean;
    validate?: import("../../fields/config/types.js").Validate<any, any, any, object>;
    dbName?: import("../../database/types.js").DBIdentifierName;
    enumName?: import("../../database/types.js").DBIdentifierName;
    hasMany?: boolean;
    options: import("../../fields/config/types.js").Option[];
    type: "select";
} | {
    custom?: Record<string, any>;
    hooks?: {
        afterChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        afterRead?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeDuplicate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeValidate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
    };
    access?: {
        create?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        read?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        update?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
    };
    defaultValue?: any;
    hidden?: boolean;
    index?: boolean;
    label?: string | false | import("../../config/types.js").LabelFunction | Record<string, string>;
    required?: boolean;
    unique?: boolean;
    validate?: import("../../fields/config/types.js").Validate<any, any, any, object>;
    admin?: import("../../fields/config/types.js").TabsAdmin;
    tabs: import("../../fields/config/types.js").Tab[];
    type: "tabs";
} | {
    access?: {
        create?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        read?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        update?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
    };
    admin?: {
        className?: string;
        components?: {
            Cell?: import("../../config/types.js").CustomComponent;
            Field?: import("../../config/types.js").CustomComponent;
            Filter?: import("react").ComponentType<any>;
        };
        condition?: import("../../fields/config/types.js").Condition<any, any>;
        description?: import("../../admin/types.js").Description;
        disableBulkEdit?: boolean;
        disabled?: boolean;
        hidden?: boolean;
        position?: "sidebar";
        readOnly?: boolean;
        style?: import("react").CSSProperties;
        width?: string;
    } & {
        autoComplete?: string;
        components?: {
            Error?: import("../../config/types.js").CustomComponent<import("../../admin/types.js").ErrorProps>;
            Label?: import("../../config/types.js").CustomComponent<import("../../admin/types.js").LabelProps>;
            afterInput?: import("../../config/types.js").CustomComponent[];
            beforeInput?: import("../../config/types.js").CustomComponent[];
        };
        placeholder?: string | Record<string, string>;
        rtl?: boolean;
    };
    custom?: Record<string, any>;
    defaultValue?: any;
    hidden?: boolean;
    hooks?: {
        afterChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        afterRead?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeDuplicate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeValidate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
    };
    index?: boolean;
    label?: string | false | import("../../config/types.js").LabelFunction | Record<string, string>;
    localized?: boolean;
    name: string;
    required?: boolean;
    saveToJWT?: string | boolean;
    unique?: boolean;
    validate?: import("../../fields/config/types.js").Validate<any, any, any, object>;
    maxLength?: number;
    minLength?: number;
    type: "text";
    hasMany: true;
    maxRows?: number;
    minRows?: number;
} | {
    access?: {
        create?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        read?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        update?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
    };
    admin?: {
        className?: string;
        components?: {
            Cell?: import("../../config/types.js").CustomComponent;
            Field?: import("../../config/types.js").CustomComponent;
            Filter?: import("react").ComponentType<any>;
        };
        condition?: import("../../fields/config/types.js").Condition<any, any>;
        description?: import("../../admin/types.js").Description;
        disableBulkEdit?: boolean;
        disabled?: boolean;
        hidden?: boolean;
        position?: "sidebar";
        readOnly?: boolean;
        style?: import("react").CSSProperties;
        width?: string;
    } & {
        autoComplete?: string;
        components?: {
            Error?: import("../../config/types.js").CustomComponent<import("../../admin/types.js").ErrorProps>;
            Label?: import("../../config/types.js").CustomComponent<import("../../admin/types.js").LabelProps>;
            afterInput?: import("../../config/types.js").CustomComponent[];
            beforeInput?: import("../../config/types.js").CustomComponent[];
        };
        placeholder?: string | Record<string, string>;
        rtl?: boolean;
    };
    custom?: Record<string, any>;
    defaultValue?: any;
    hidden?: boolean;
    hooks?: {
        afterChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        afterRead?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeDuplicate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeValidate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
    };
    index?: boolean;
    label?: string | false | import("../../config/types.js").LabelFunction | Record<string, string>;
    localized?: boolean;
    name: string;
    required?: boolean;
    saveToJWT?: string | boolean;
    unique?: boolean;
    validate?: import("../../fields/config/types.js").Validate<any, any, any, object>;
    maxLength?: number;
    minLength?: number;
    type: "text";
    hasMany?: false;
    maxRows?: undefined;
    minRows?: undefined;
} | {
    access?: {
        create?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        read?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        update?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
    };
    admin?: {
        className?: string;
        components?: {
            Cell?: import("../../config/types.js").CustomComponent;
            Field?: import("../../config/types.js").CustomComponent;
            Filter?: import("react").ComponentType<any>;
        };
        condition?: import("../../fields/config/types.js").Condition<any, any>;
        description?: import("../../admin/types.js").Description;
        disableBulkEdit?: boolean;
        disabled?: boolean;
        hidden?: boolean;
        position?: "sidebar";
        readOnly?: boolean;
        style?: import("react").CSSProperties;
        width?: string;
    } & {
        components?: {
            Error?: import("../../config/types.js").CustomComponent<import("../../admin/types.js").ErrorProps>;
            Label?: import("../../config/types.js").CustomComponent<import("../../admin/types.js").LabelProps>;
            afterInput?: import("../../config/types.js").CustomComponent[];
            beforeInput?: import("../../config/types.js").CustomComponent[];
        };
        placeholder?: string | Record<string, string>;
        rows?: number;
        rtl?: boolean;
    };
    custom?: Record<string, any>;
    defaultValue?: any;
    hidden?: boolean;
    hooks?: {
        afterChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        afterRead?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeDuplicate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeValidate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
    };
    index?: boolean;
    label?: string | false | import("../../config/types.js").LabelFunction | Record<string, string>;
    localized?: boolean;
    name: string;
    required?: boolean;
    saveToJWT?: string | boolean;
    unique?: boolean;
    validate?: import("../../fields/config/types.js").Validate<any, any, any, object>;
    maxLength?: number;
    minLength?: number;
    type: "textarea";
} | {
    admin: {
        components?: {
            Cell?: import("../../config/types.js").CustomComponent;
            Field: import("../../config/types.js").CustomComponent;
            Filter?: import("react").ComponentType<any>;
        };
        condition?: import("../../fields/config/types.js").Condition<any, any>;
        disableBulkEdit?: boolean;
        position?: string;
        width?: string;
    };
    custom?: Record<string, any>;
    label?: string | Record<string, string>;
    name: string;
    type: "ui";
} | {
    access?: {
        create?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        read?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
        update?: import("../../fields/config/types.js").FieldAccess<any, any, any>;
    };
    admin?: {
        className?: string;
        components?: {
            Cell?: import("../../config/types.js").CustomComponent;
            Field?: import("../../config/types.js").CustomComponent;
            Filter?: import("react").ComponentType<any>;
        };
        condition?: import("../../fields/config/types.js").Condition<any, any>;
        description?: import("../../admin/types.js").Description;
        disableBulkEdit?: boolean;
        disabled?: boolean;
        hidden?: boolean;
        position?: "sidebar";
        readOnly?: boolean;
        style?: import("react").CSSProperties;
        width?: string;
    } & {
        components?: {
            Error?: import("../../config/types.js").CustomComponent<import("../../admin/types.js").ErrorProps>;
            Label?: import("../../config/types.js").CustomComponent<import("../../admin/types.js").LabelProps>;
        };
    };
    custom?: Record<string, any>;
    defaultValue?: any;
    hidden?: boolean;
    hooks?: {
        afterChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        afterRead?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeChange?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeDuplicate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
        beforeValidate?: import("../../fields/config/types.js").FieldHook<any, any, any>[];
    };
    index?: boolean;
    label?: string | false | import("../../config/types.js").LabelFunction | Record<string, string>;
    localized?: boolean;
    name: string;
    required?: boolean;
    saveToJWT?: string | boolean;
    unique?: boolean;
    validate?: import("../../fields/config/types.js").Validate<any, any, any, object>;
    filterOptions?: import("../../fields/config/types.js").FilterOptions<any>;
    maxDepth?: number;
    relationTo: string;
    type: "upload";
};
export declare const createClientFieldConfigs: ({ fields, t, }: {
    fields: Field[];
    t: TFunction;
}) => Field[];
//# sourceMappingURL=client.d.ts.map