/**
 * 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, { FC } from 'react';
import { SchemaInitializer, SchemaSettings } from '../application';
export interface GeneralSchemaDesignerProps {
    disableInitializer?: boolean;
    title?: string;
    template?: any;
    schemaSettings?: string;
    contextValue?: any;
    /**
     * @default true
     */
    draggable?: boolean;
    showDataSource?: boolean;
}
/**
 * @deprecated use `SchemaToolbar` instead
 */
export declare const GeneralSchemaDesigner: FC<GeneralSchemaDesignerProps>;
export interface SchemaToolbarProps {
    title?: string | string[];
    draggable?: boolean;
    initializer?: string | SchemaInitializer<any> | false;
    settings?: string | SchemaSettings<any> | false;
    /**
     * @default true
     */
    showBorder?: boolean;
    showBackground?: boolean;
    toolbarClassName?: string;
    toolbarStyle?: React.CSSProperties;
    spaceWrapperClassName?: string;
    spaceWrapperStyle?: React.CSSProperties;
    spaceClassName?: string;
    spaceStyle?: React.CSSProperties;
    /**
     * The HTML element that listens for mouse enter/leave events.
     * Parent element is used by default.
     */
    container?: HTMLElement;
    onVisibleChange?: (nextVisible: boolean) => void;
}
/**
 * @internal
 */
export declare const SchemaToolbarVisibleContext: React.Context<boolean>;
export declare const SchemaToolbar: FC<SchemaToolbarProps>;
