import type { SocketSdkOperations } from './types.mts'; export interface ApiRequirement { quota: number; permissions: string[]; } export interface Requirements { api: Record; } /** * Calculate total quota cost for multiple SDK method calls. Returns sum of * quota units for all specified methods. */ export declare function calculateTotalQuotaCost(methodNames: Array): number; /** * Get all available SDK methods with their requirements. Returns complete * mapping of methods to quota and permissions. Creates a fresh deep copy each * time to prevent external mutations. */ export declare function getAllMethodRequirements(): Record; /** * Get complete requirement information for a SDK method. Returns both quota * cost and required permissions. Memoized to avoid repeated lookups for the * same method. */ export declare const getMethodRequirements: (methodName: string) => ApiRequirement; /** * Get all methods that require specific permissions. Returns methods that need * any of the specified permissions. Memoized since the same permission queries * are often repeated. */ export declare const getMethodsByPermissions: (permissions: string[]) => string[]; /** * Get all methods that consume a specific quota amount. Useful for finding * high-cost or free operations. Memoized to cache results for commonly queried * quota costs. */ export declare const getMethodsByQuotaCost: (quotaCost: number) => string[]; /** * Get quota cost for a specific SDK method. Returns the number of quota units * consumed by the method. Memoized since quota costs are frequently queried. */ export declare const getQuotaCost: (methodName: string) => number; /** * Get quota usage summary grouped by cost levels. Returns methods categorized * by their quota consumption. Memoized since the summary structure is immutable * after load. */ export declare const getQuotaUsageSummary: () => Record; /** * Get required permissions for a specific SDK method. Returns array of * permission strings needed to call the method. Memoized to cache permission * lookups per method. */ export declare const getRequiredPermissions: (methodName: string) => string[]; /** * Check if user has sufficient quota for method calls. Returns true if * available quota covers the total cost. */ export declare function hasQuotaForMethods(availableQuota: number, methodNames: Array): boolean;