import type { SocketSdkOperations } from './types'; interface ApiRequirement { quota: number; permissions: string[]; } /** * 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; export {};