import { InjectableProcessor } from './InjectableProcessor'; export interface ConfigContract { base_url: string; secret: string; /** * Domain (or stable fingerprint fallback) used for domain-aware checks. * - If not provided by user, SDK auto-resolves from environment variables. * - If still not available, SDK generates & persists a fingerprint. */ domain: string; environment?: 'production' | 'staging' | 'development' | string | null; license?: string | null; api_key?: string | null; recheck: boolean; action: string; timeout: number; per_page?: number | null; injectables: boolean; injectablesVerify: boolean; injectablesPath?: string | null; handleInjectables: boolean; injectablesProcessor?: InjectableProcessor | null; invalidBehavior: 'log' | 'modal' | 'redirect' | 'silent'; redirectUrl?: string | null; customInvalidView?: any; customInvalidMessage?: string; cachePath?: string | null; heartbeat?: boolean; heartbeatInterval?: number; onReady?: ((response: any) => void) | null; }