import type { BaseViewProjection, ViewType } from '@univerjs/core';
import type { ComponentType } from 'react';
import type { BaseViewRenderController } from '../render/base-view-render-controller';
export interface IViewRenderContext {
    unitId: string;
    tableId: string;
    viewId: string;
}
export interface IViewSettingsPanelContext {
    viewId: string;
}
export interface IViewToolbarContext {
    viewId: string;
}
export interface IToolbarItem {
    id: string;
    label: string;
}
export interface IViewUIPlugin<TProjection extends BaseViewProjection = BaseViewProjection> {
    type: ViewType;
    icon: ComponentType;
    createRenderController(ctx: IViewRenderContext): BaseViewRenderController<TProjection>;
    createSettingsPanel(ctx: IViewSettingsPanelContext): ComponentType;
    createToolbarItems?(ctx: IViewToolbarContext): IToolbarItem[];
}
export declare function createCoreViewUIPlugins(): IViewUIPlugin[];
