@sprucelabs/spruce-cli
Version:
Command line interface for building Spruce skills.
24 lines (23 loc) • 1.08 kB
TypeScript
import { GlobalEmitter } from '../GlobalEmitter';
import ServiceFactory, { ServiceProvider, Service, ServiceMap } from '../services/ServiceFactory';
import { ApiClientFactory, ApiClient, ApiClientFactoryOptions } from '../types/apiClient.types';
export default abstract class AbstractStore implements ServiceProvider {
protected cwd: string;
protected homeDir: string;
protected apiClientFactory: ApiClientFactory;
protected emitter: GlobalEmitter;
abstract name: string;
private serviceFactory;
constructor(options: StoreOptions);
Service<S extends Service>(type: S, cwd?: string): ServiceMap[S];
protected connectToApi(options?: ApiClientFactoryOptions): Promise<ApiClient>;
}
interface AbstractStoreOptions {
serviceFactory: ServiceFactory;
cwd: string;
homeDir: string;
apiClientFactory: ApiClientFactory;
emitter: GlobalEmitter;
}
export type StoreOptions<Options extends Record<string, any> | undefined = undefined> = Options extends Record<string, any> ? AbstractStoreOptions & Options : AbstractStoreOptions;
export {};