declare let appConfig: { [key: string]: any; }; export declare function configure(userConfig: typeof appConfig): void; export declare function getConfig(key: string): any; export type SnackMode = "production" | "staging"; export declare const SNACK_ENV: SnackMode; export declare function selectValueBySnackEnv(values: Record): T; export declare const SNACK_API_URL: string; export declare const SNACKAGER_API_URLS: string[]; export declare const SNACKPUB_URL: string; export interface A0ConfigAddons { [key: string]: { config?: Record; }; } export interface A0Config { projectId: string; apiKey: string; live?: boolean; iconUrl?: string; ek?: string; runtimeVersion?: string; initialDeployment?: { deploymentId: string; deploymentData: string; }; prodConvexUrl?: string; devConvexUrl?: string; addons?: A0ConfigAddons; } export declare let raw_A0_CONFIG: A0Config | null; export declare let A0_CONFIG: A0Config | null; export declare const A0_API_URL: any; export interface LiveConfig { addons: A0ConfigAddons; devConvexUrl?: string; prodConvexUrl?: string; } export declare const isLiveConfigLoaded: () => boolean; /** * Wait until the live config is loaded * @param timeoutMs - Maximum time to wait in milliseconds (default: 10000) * @returns Promise that resolves with the live config when loaded or rejects on timeout */ export declare const waitForLiveConfig: (timeoutMs?: number) => Promise; /** * Wait until the initial URL is loaded and processed * @param timeoutMs - Maximum time to wait in milliseconds (default: 10000) * @returns Promise that resolves when initial URL is loaded or rejects on timeout */ export declare const waitForInitialUrl: (timeoutMs?: number) => Promise; export declare const loadCachedLiveConfig: () => Promise; export declare const loadLiveConfigFromApi: () => Promise; /** * Initialize live config * @returns true if the live config was initialized, false if it was already initialized */ export declare const initializeLiveConfig: () => Promise; /** * Check if the app has an addon enabled * @param addonKey - The key of the addon to check * @returns true if the addon is present, false otherwise */ export declare const doesAppHaveAddon: (addonKey: string) => boolean; export declare const getLiveConfig: () => LiveConfig | null; export declare const getConvexUrl: (force?: boolean) => Promise; export {};