/** * SMI-645: WebhookQueue Utilities * * Utility constants and functions for the webhook queue system. */ import type { QueuePriority } from './WebhookQueue.types.js'; /** * Priority values for sorting * Higher values = higher priority */ export declare const PRIORITY_VALUES: Record; /** * Compare two queue items by priority * Returns negative if a has higher priority, positive if b has higher priority */ export declare function comparePriority(a: QueuePriority, b: QueuePriority): number; /** * Calculate priority score for an item * Takes into account priority level and age * * @param priority - The priority level * @param timestamp - The item's creation timestamp * @param now - Current timestamp (default: Date.now()) * @returns Combined priority score */ export declare function calculatePriorityScore(priority: QueuePriority, timestamp: number, now?: number): number; /** * Calculate exponential backoff delay * * @param baseDelayMs - Base delay in milliseconds * @param retryCount - Current retry attempt (1-based) * @returns Delay in milliseconds */ export declare function calculateRetryDelay(baseDelayMs: number, retryCount: number): number; /** * Generate a debounce key for a queue item * Used to deduplicate rapid updates to the same file * * @param repoFullName - Repository full name (owner/repo) * @param filePath - Path to the file * @returns Debounce key string */ export declare function generateDebounceKey(repoFullName: string, filePath: string): string; //# sourceMappingURL=WebhookQueue.utils.d.ts.map