/**
 * GSB Configuration - Core settings and tenant management
 * Consolidated version with improved tenant handling
 */
export declare function setLocalStorage(key: string, value: string, duration?: number): void;
export declare function getLocalStorage(key: string): string | null;
export declare function removeLocalStorage(key: string): void;
export declare function getEnvVar(key: string, defaultValue: string): string;
export declare function checkAllEnvVars(varName: string): string;
/**
 * Get the base domain for GSB services
 * @returns The base domain
 */
export declare function getGsbBaseDomain(): string;
/**
 * Get the API URL for GSB services
 * @returns The API URL
 */
export declare function getGsbApiUrl(): string | undefined;
export declare function getGsbLangCode(): string | undefined;
export declare function getGsbLangStorageKey(): string;
/**
 * Get the default tenant code from environment variables
 * @returns The default tenant code from environment variables, or an empty string if not found.
 */
export declare function getDefaultTenant(): string;
/**
 * Get the current GSB tenant code
 * Prioritizes GSB_SETTINGS, then environment variables, then localStorage.
 * @returns The current active tenant code
 */
export declare function getGsbTenantCode(): string | undefined;
/**
 * Set the active GSB tenant code
 * @param tenantCode The tenant code to set as active
 */
export declare function setGsbTenantCode(tenantCode: string): void;
/**
 * Set the GSB API URL.
 * @param apiUrl The API URL to set.
 */
export declare function setGsbApiUrl(apiUrl: string | undefined): void;
/**
 * Set the GSB language code.
/**
 * Set the GSB language code.
 * @param langCode The language code to set.
 */
export declare function setGsbLangCode(langCode: string | undefined): void;
export declare function setGsbLangStorageKey(langStorageKey: string | undefined): void;
/**
 * Set the GSB token.
 * @param token The token to set.
 */
export declare function setGsbToken(token: string | undefined): void;
/**
 * Get the GSB token.
 * Prioritizes GSB_SETTINGS, then environment variables, then localStorage for the current tenant.
 */
export declare function getGsbToken(): string | undefined;
/**
 * Check if multi-tenant mode is enabled
 */
export declare function isMultiTenantEnabled(): boolean;
/**
 * Parse tenant code from hostname
 * @param hostname The hostname to extract tenant from
 * @returns Tenant code or null if using main domain
 */
export declare function getTenantFromHostname(hostname: string): string | null;
/**
 * Extract tenant code from a JWT token
 * @param token The JWT token
 * @returns The tenant code or undefined
 */
export declare function extractTenantCodeFromToken(token: string): string | undefined;
/**
 * Get a token from environment variables based on tenant code (for development)
 * @param tenantCode The tenant code
 * @returns The token from environment if available, or null
 */
export declare function getEnvToken(): string | undefined;
/**
 * Storage key helper for tokens
 * @param tenantCode The tenant code
 * @returns Storage key for the tenant's token
 */
export declare function getTokenStorageKey(tenantCode: string): string;
/**
 * Storage key helper for user data
 * @param tenantCode The tenant code
 * @returns Storage key for the tenant's user data
 */
export declare function getUserDataStorageKey(tenantCode: string): string;
/**
 * Get available tenants from storage
 */
export declare function getAvailableTenants(): string[];
/**
 * @deprecated Use setGsbTenantCode and appropriate auth service methods to clear tokens.
 */
export declare function clearGsbAuth(): void;
/**
 * GSB Environment Configuration
 */
export declare const GSB_CONFIG: {
    readonly BASE_DOMAIN: string;
    readonly TENANT_CODE: string | undefined;
    API_URL(tenantCode?: string, baseDomain?: string): string;
    readonly LANG_CODE: string | undefined;
    readonly LANG_STORAGE_KEY: string | undefined;
    readonly ENABLE_MULTI_TENANT: boolean;
    extractTenantCode: typeof extractTenantCodeFromToken;
    getTenantUrl(tenantCode: string): string;
};
