import { ExtensionProperty, IAddControlComponent, ISetBottomComponent, ISetWelcomeComponent, IFileSystemService, ProjectBindPluginsConfig } from '.'; export interface ICommand { id: string; name: string; callback: (data?: T) => void; } export interface IFunction { name: string; function: Function; } export interface IChainIdeProxyImpl { addControl: (data: IAddControlComponent) => ExtensionProperty; setWelcomePage: (data: ISetWelcomeComponent) => ExtensionProperty; registerCommand: (data: Omit) => ExtensionProperty; setWalletView: ( data: ISetBottomComponent, cb?: () => void ) => ExtensionProperty; registerFunction: (data: IFunction, cb?: () => void) => ExtensionProperty; getApiFunction: (name: string) => Function | undefined; addModule: (modulename: string, state: any) => void; registerWallet: (data: any) => ExtensionProperty; fileSystemService: IFileSystemService; currentProject: ProjectBindPluginsConfig; }