import { Widget, IFileDataSource } from './types';
export declare const brand: Array<Widget>;
export declare const toolbar: Array<Widget>;
export declare const action: Array<Widget>;
export declare const workspace: Array<Widget>;
export declare const apps: Array<Widget>;
export declare const setting: Array<Widget>;
export interface ISetterConfig {
    name: string;
    component: any;
    dataType: string;
}
export interface IWorkersConfig {
    editorWorker: new () => Worker;
    jsonWorker: new () => Worker;
    cssWorker: new () => Worker;
    htmlWorker: new () => Worker;
    tsWorker: new () => Worker;
}
export interface IHandlersConfig {
    dataSourceFactory?: (schema: IFileDataSource) => (params?: any) => Promise<any>;
    globalProperties?: Record<string, any>;
}
export interface IConfig {
    activeApp?: string;
    routePrefix?: string;
    widgets?: Array<Widget>;
    setters?: ISetterConfig[];
    workers?: IWorkersConfig;
    handlers?: IHandlersConfig;
}
export declare function mergeConfig(config: IConfig): {
    activeApp: string;
    routePrefix: string;
    widgets: Widget[];
    setters: ISetterConfig[];
    workers: IWorkersConfig;
} & IConfig & {
    widgets: Widget[];
    setters: ISetterConfig[];
};
