import type { ScopeChecker, TokenInfo } from '@mondaydotcomorg/atp-protocol'; /** * Scope checker registry * Manages scope checkers for different OAuth providers */ export declare class ScopeCheckerRegistry { private checkers; private scopeCache; private cleanupInterval?; private maxCacheSize; private pendingChecks; constructor(); /** * Start periodic cache cleanup */ private startCleanup; /** * Stop periodic cache cleanup (for testing or shutdown) */ stopCleanup(): void; /** * Remove expired entries from cache */ private cleanupExpiredCache; /** * Register a custom scope checker */ register(checker: ScopeChecker): void; /** * Check if a scope checker is available for a provider */ hasChecker(provider: string): boolean; /** * Get scope checker for a provider */ getChecker(provider: string): ScopeChecker | undefined; /** * Check what scopes a token has (with caching and deduplication) * @param provider - Provider name * @param token - Access token * @param cacheTTL - Cache TTL in seconds (default: 3600 = 1 hour) */ checkScopes(provider: string, token: string, cacheTTL?: number): Promise; /** * Validate if a token is still valid */ validateToken(provider: string, token: string): Promise; /** * Get complete token information */ getTokenInfo(provider: string, token: string): Promise; /** * Clear cached scopes */ clearCache(provider?: string): void; /** * Hash token for cache key (SHA-256, first 16 chars) */ private hashToken; } //# sourceMappingURL=scope-checkers.d.ts.map