UNPKG

@qbraid-core/base

Version:

Core functionality for interacting with qBraid Cloud Services.

43 lines (42 loc) 1.67 kB
import { AuthData } from './session'; export declare const DEFAULT_CONFIG_PATH: string; export declare const USER_CONFIG_PATH: string; export declare const DEFAULT_CONFIG: ConfigData; export declare abstract class ConfigManager<T> { protected configPath: string; protected config: T; constructor(filePath: string); protected abstract parseConfig(content: string): T; protected abstract stringifyConfig(config: T): string; protected abstract getDefaultConfig(): T; protected ensureConfigFileExists(): void; loadConfig(): T; saveConfig(): void; getConfig(): T; } type ConfigSection = Record<string, string>; type ConfigData = Record<string, ConfigSection>; export declare class QbraidConfigManager extends ConfigManager<ConfigData> { constructor(filePath?: string); protected parseConfig(content: string): ConfigData; protected stringifyConfig(config: ConfigData): string; protected getDefaultConfig(): ConfigData; private initializeDefaultConfig; private deepMerge; getSection(section: string): Record<string, string> | undefined; getValue(section: string, key: string): string | undefined; setValue(section: string, key: string, value: string): void; updateConfig(newConfig: ConfigData): void; removeSection(section: string): void; removeValue(section: string, key: string): void; getApiKey(): string; setApiKey(apiKey: string): void; getRefreshToken(): string; setRefreshToken(refreshToken: string): void; getEmail(): string; setEmail(email: string): void; getUrl(): string; setUrl(url: string): void; getAuthData(): AuthData; } export {};