@qbraid-core/base
Version:
Core functionality for interacting with qBraid Cloud Services.
43 lines (42 loc) • 1.67 kB
TypeScript
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 {};