/**
 * This file is part of the NocoBase (R) project.
 * Copyright (c) 2020-2024 NocoBase Co., Ltd.
 * Authors: NocoBase Team.
 *
 * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
 * For more information, please refer to: https://www.nocobase.com/agreement.
 */
import React, { type ComponentType, type CSSProperties } from 'react';
type OperatorMeta = {
    value?: string;
    schema?: {
        'x-component'?: string;
        'x-component-props'?: Record<string, unknown>;
    };
};
type ComponentRegistry = {
    getComponent?: (name: string) => ComponentType<Record<string, unknown>> | undefined;
};
type OperatorComponentRenderOptions = {
    app?: ComponentRegistry;
    fieldModel: unknown;
    operator: string;
    operators?: OperatorMeta[];
    propsPriority?: 'field' | 'operator';
    style?: CSSProperties;
};
export declare function pickOperatorStyle(value: unknown): CSSProperties | undefined;
/**
 * 根据操作符的 schema 定位组件及其 props。
 */
export declare function resolveOperatorComponent(app: ComponentRegistry | undefined, operator: string, operators?: OperatorMeta[]): {
    Comp: React.ComponentType<Record<string, unknown>>;
    props: Record<string, unknown>;
};
export declare function restoreOperatorComponentRender(fieldModel?: unknown): boolean;
export declare function applyOperatorComponentRender({ app, fieldModel, operator, operators, propsPriority, style, }: OperatorComponentRenderOptions): boolean;
export {};
