/**
 * 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 from 'react';
import { Plugin } from '../application/Plugin';
export declare const SchemaTemplateManagerContext: React.Context<any>;
export declare const useSchemaTemplate: () => any;
export declare const useSchemaTemplateManager: () => {
    templates: any;
    refresh: any;
    getTemplateSchemaByMode: (options: any) => Promise<any>;
    copyTemplateSchema: (template: any) => Promise<any>;
    saveAsTemplate: (values: any) => Promise<{
        key: string;
    }>;
    getTemplateBySchema: (schema: any) => any;
    getTemplateBySchemaId: (schemaId: any) => any;
    getTemplateById: (key: any) => any;
    getTemplatesByCollection: (dataSource: string, collectionName: string) => any;
    getTemplatesByComponentName: (componentName: string) => Array<any>;
};
export declare const RemoteSchemaTemplateManagerProvider: (props: any) => React.JSX.Element;
export declare class RemoteSchemaTemplateManagerPlugin extends Plugin {
    load(): Promise<void>;
    addComponents(): void;
    addRoutes(): void;
}
