/**
 * クライアントサイド専用設定管理
 * process.env を使わずに設定を管理
 */
/**
 * クライアント設定インターフェース
 */
export interface GftdClientConfig {
    url: string;
    apiKey?: string;
    apiSecret?: string;
    headers?: Record<string, string>;
    database?: {
        ksql?: {
            url: string;
            apiKey?: string;
            apiSecret?: string;
            headers?: Record<string, string>;
        };
        schemaRegistry?: {
            url: string;
            apiKey?: string;
            auth?: {
                user: string;
                pass: string;
            };
        };
    };
    realtime?: {
        url: string;
        apiKey?: string;
        autoReconnect?: boolean;
        reconnectInterval?: number;
        maxReconnectAttempts?: number;
    };
    global?: {
        headers?: Record<string, string>;
        schema?: string;
        timeout?: number;
        retries?: number;
    };
}
/**
 * クライアント設定を設定
 */
export declare function setClientConfig(config: GftdClientConfig): void;
/**
 * クライアント設定を取得
 */
export declare function getClientConfig(): GftdClientConfig | null;
/**
 * 必須設定を取得（エラーチェック付き）
 */
export declare function getRequiredClientConfig(): GftdClientConfig;
/**
 * データベース設定を取得
 */
export declare function getDatabaseConfig(): NonNullable<GftdClientConfig['database']>;
/**
 * ksqlDB設定を取得
 */
export declare function getKsqlDbConfig(): NonNullable<GftdClientConfig['database']>['ksql'];
/**
 * Schema Registry設定を取得
 */
export declare function getSchemaRegistryConfig(): NonNullable<GftdClientConfig['database']>['schemaRegistry'];
/**
 * リアルタイム設定を取得
 */
export declare function getRealtimeConfig(): NonNullable<GftdClientConfig['realtime']>;
/**
 * グローバル設定を取得
 */
export declare function getGlobalConfig(): NonNullable<GftdClientConfig['global']>;
/**
 * デフォルト設定を作成
 */
export declare function createDefaultConfig(baseUrl: string): GftdClientConfig;
/**
 * 設定を検証
 */
export declare function validateClientConfig(config: GftdClientConfig): void;
/**
 * 設定を初期化
 */
export declare function initializeClientConfig(config: GftdClientConfig): void;
/**
 * 設定をリセット
 */
export declare function resetClientConfig(): void;
/**
 * 設定が初期化されているかチェック
 */
export declare function isClientConfigInitialized(): boolean;
/**
 * 設定をマージ
 */
export declare function mergeClientConfig(additionalConfig: Partial<GftdClientConfig>): void;
//# sourceMappingURL=client-config.d.ts.map