///
import React = require("react");
import { EditorStore } from "@tandem/editor/browser/stores";
import { IWorkspaceTool } from "@tandem/editor/browser/stores";
import { ReactComponentFactoryProvider } from "./base";
import { IRouteHandler } from "../stores/router";
import { ICommand, Kernel, StoreProvider, ClassFactoryProvider } from "@tandem/common";
import { WebMenuItem } from "../menus";
export declare class GlobalKeyBindingProvider extends ClassFactoryProvider {
readonly commandClass: {
new (...rest: any[]): ICommand;
};
static readonly NS: string;
readonly keys: string[];
constructor(keys: string | string[], commandClass: {
new (...rest: any[]): ICommand;
});
create(): ICommand;
clone(): GlobalKeyBindingProvider;
static findAll(kernel: Kernel): GlobalKeyBindingProvider[];
}
export declare class WorkspaceToolFactoryProvider extends ClassFactoryProvider {
readonly name: string;
readonly icon: string;
readonly editorType: string;
readonly keyCommand: string;
readonly clazz: {
new (editor: any): IWorkspaceTool;
};
static readonly NS: string;
constructor(name: string, icon: string, editorType: string, keyCommand: string, clazz: {
new (editor: any): IWorkspaceTool;
});
clone(): WorkspaceToolFactoryProvider;
create(editor: any): IWorkspaceTool;
static findAll(editorType: string, kernel: Kernel): WorkspaceToolFactoryProvider[];
static find(id: string, editorType: string, kernel: Kernel): WorkspaceToolFactoryProvider;
}
export declare class EntityPaneComponentFactoryProvider extends ReactComponentFactoryProvider {
readonly name: string;
readonly componentClass: any;
static readonly NS: string;
constructor(name: string, componentClass: any, priority?: number);
clone(): EntityPaneComponentFactoryProvider;
static getId(name: any): string;
}
export declare class DocumentPaneComponentFactoryProvider extends ReactComponentFactoryProvider {
readonly name: string;
readonly componentClass: any;
readonly priority: number;
static readonly NS: string;
constructor(name: string, componentClass: any, priority?: number);
clone(): DocumentPaneComponentFactoryProvider;
static getId(name: any): string;
}
export declare class BottomGutterTabComponentProvider extends ReactComponentFactoryProvider {
readonly name: string;
readonly label: string;
readonly componentClass: any;
static readonly NS: string;
constructor(name: string, label: string, componentClass: any, priority?: number);
clone(): BottomGutterTabComponentProvider;
static getId(name: string): string;
}
export declare class HeaderComponentFactoryProvider extends ReactComponentFactoryProvider {
readonly name: string;
readonly componentClass: any;
readonly priority: number;
static readonly NS: string;
constructor(name: string, componentClass: any, priority?: number);
clone(): HeaderComponentFactoryProvider;
static getId(name: any): string;
}
export declare class StageToolComponentFactoryProvider extends ReactComponentFactoryProvider {
readonly name: string;
readonly toolType: string;
readonly componentClass: any;
static readonly NS: string;
constructor(name: string, toolType: string, componentClass: any);
static getNamespace(name: string, toolType: string): string;
clone(): StageToolComponentFactoryProvider;
}
export declare class EditorComponentFactoryProvider extends ReactComponentFactoryProvider {
readonly name: string;
readonly componentClass: React.ComponentClass;
static readonly NS: string;
constructor(name: string, componentClass: React.ComponentClass);
static getId(name: string): string;
clone(): EditorComponentFactoryProvider;
}
export declare class LayerLabelComponentFactoryProvider extends ReactComponentFactoryProvider {
readonly displayType: string;
readonly componentClass: React.ComponentClass;
readonly childrenProperty: string;
static readonly NS: string;
constructor(displayType: string, componentClass: React.ComponentClass, childrenProperty?: string);
static find(displayType: string, kernel: Kernel): LayerLabelComponentFactoryProvider;
clone(): LayerLabelComponentFactoryProvider;
}
/**
*/
export declare class TokenComponentFactoryProvider extends ReactComponentFactoryProvider {
readonly tokenType: string;
readonly componentClass: React.ComponentClass;
static readonly NS: string;
constructor(tokenType: string, componentClass: React.ComponentClass);
static getNamespace(tokenType: string): string;
static find(tokenType: string, kernel: Kernel): TokenComponentFactoryProvider;
clone(): TokenComponentFactoryProvider;
}
export declare class FooterComponentFactoryProvider extends ReactComponentFactoryProvider {
readonly name: string;
readonly componentClass: React.ComponentClass;
static readonly NS: string;
constructor(name: string, componentClass: React.ComponentClass);
static getNamespace(name: string): string;
static find(name: string, kernel: Kernel): FooterComponentFactoryProvider;
clone(): FooterComponentFactoryProvider;
}
export declare class EditorStoreProvider extends StoreProvider {
static readonly NAME: string;
static readonly ID: string;
constructor(clazz: {
new (): EditorStore;
});
}
export declare class RouteFactoryProvider extends ClassFactoryProvider {
readonly name: string;
readonly path: string;
readonly routeClass: {
new (): IRouteHandler;
};
static readonly NS: string;
private _pathRegexp;
private _paramNames;
constructor(name: string, path: string, routeClass: {
new (): IRouteHandler;
});
static getId(name: string): string;
create(): IRouteHandler;
clone(): RouteFactoryProvider;
testPath(path: string): boolean;
getParams(path: string): {};
static findByPath(path: string, kernel: Kernel): RouteFactoryProvider;
}
export declare class PageFactoryProvider extends ReactComponentFactoryProvider {
readonly pageName: string;
readonly routeClass: any;
static readonly NS: string;
constructor(pageName: string, routeClass: any);
static getId(name: string): string;
}
export declare class WebMenuItemFactoryProvider extends ClassFactoryProvider {
readonly name: string;
readonly parentTester: any;
readonly WebMenuItemClass: {
new (name: string): WebMenuItem;
};
static readonly NS: string;
constructor(name: string, parentTester: any, WebMenuItemClass: {
new (name: string): WebMenuItem;
});
clone(): WebMenuItemFactoryProvider;
create(): any;
testParent(parent: WebMenuItem): any;
static createSeparatorProvider(parent: string): WebMenuItemFactoryProvider;
static getId(name: string): string;
static createSubWebMenuItems(parent: WebMenuItem, kernel: Kernel): WebMenuItem[];
}
export * from "./base";