/** * CS2 Inspect URL Library - Enhanced Version * * A comprehensive TypeScript library for encoding and decoding CS2 inspect URLs * with full protobuf support, validation, and error handling. */ export * from './types'; export * from "./weapon-paints"; export * from './errors'; export { Validator } from './validation'; export { ProtobufReader } from './protobuf-reader'; export { ProtobufWriter } from './protobuf-writer'; export { ProtobufReader as Protobuf } from './protobuf-reader'; export * from './url-analyzer'; export { SteamClient } from './steam-client'; export { SteamClientManager } from './steam-client-manager'; import { EconItem, CS2InspectConfig, AnalyzedInspectURL, SteamInspectResult } from './types'; import { SteamClientManager } from './steam-client-manager'; /** * Main CS2 Inspect URL API class */ export declare class CS2Inspect { private config; private urlAnalyzer; private steamManager; constructor(config?: CS2InspectConfig); /** * Creates an inspect URL from an EconItem * * @param item - The item data to encode * @returns The generated inspect URL */ createInspectUrl(item: EconItem): string; /** * Decodes a MASKED inspect URL into an EconItem (synchronous, offline) * * Only works with MASKED URLs (URLs containing encoded protobuf data). * Does NOT work with UNMASKED URLs (market/inventory links) - use inspectItem() instead. * * @param url - The MASKED inspect URL to decode * @returns The decoded item data * @throws Error if URL is unmasked or invalid */ decodeMaskedUrl(url: string): EconItem; /** * Decodes a MASKED inspect URL into an EconItem (synchronous, offline) * * @deprecated Use decodeMaskedUrl() instead for clearer naming * @param url - The MASKED inspect URL to decode * @returns The decoded item data */ decodeInspectUrl(url: string): EconItem; /** * Analyzes an inspect URL structure * * @param url - The URL to analyze * @returns Analyzed URL information */ analyzeUrl(url: string): AnalyzedInspectURL; /** * Validates an EconItem * * @param item - The item to validate * @returns Validation result */ validateItem(item: any): import("./types").ValidationResult; /** * Validates an inspect URL * * @param url - The URL to validate * @returns Validation result */ validateUrl(url: string): import("./types").ValidationResult; /** * Checks if a URL is a valid inspect URL * * @deprecated Use analyzeUrl() and check for errors instead, or use validateUrl() for detailed validation * @param url - The URL to check * @returns True if valid, false otherwise */ isValidUrl(url: string): boolean; /** * Normalizes an inspect URL to standard format * * @param url - The URL to normalize * @returns Normalized URL */ normalizeUrl(url: string): string; /** * Gets basic URL information without full decoding * * @param url - The URL to analyze * @returns Basic URL information */ getUrlInfo(url: string): { type: "masked" | "unmasked" | "invalid"; isQuoted: boolean; hasValidFormat: boolean; estimatedSize?: number; }; /** * Inspects ANY inspect URL (both masked and unmasked) - Universal method * * Works with MASKED URLs (decoded offline using protobuf data) and * UNMASKED URLs (fetched via Steam client). Automatically detects URL type. * * @param url - Any valid inspect URL (masked or unmasked) * @returns Promise resolving to the decoded item data * @throws Error if Steam client is required but not available */ inspectItem(url: string): Promise; /** * Inspects ANY inspect URL (both masked and unmasked) - Universal method * * @deprecated Use inspectItem() instead for clearer naming * @param url - Any valid inspect URL (masked or unmasked) * @returns Promise resolving to the decoded item data */ decodeInspectUrlAsync(url: string): Promise; /** * Initialize Steam client for unmasked URL support * * @returns Promise that resolves when Steam client is ready */ initializeSteamClient(): Promise; /** * Check if Steam client is available and ready * * @returns True if Steam client is ready for inspection */ isSteamClientReady(): boolean; /** * Get Steam client status and statistics * * @returns Steam client status information */ getSteamClientStats(): { status: import("./types").SteamClientStatus; queueLength: number; isAvailable: boolean; unmaskedSupport: boolean; }; /** * Get the SteamClientManager instance (for use with convenience functions) * * @returns The SteamClientManager instance */ getSteamClientManager(): SteamClientManager; /** * Check if a URL requires Steam client for inspection * * @param url - The URL to check * @returns True if URL requires Steam client */ requiresSteamClient(url: string): boolean; /** * Disconnect Steam client */ disconnectSteamClient(): Promise; /** * Updates the configuration * * @param newConfig - New configuration options */ updateConfig(newConfig: Partial): void; /** * Gets current configuration * * @returns Current configuration */ getConfig(): Required; } /** * Static convenience functions for quick usage without instantiating the class */ /** * Creates an inspect URL from an EconItem (convenience function) */ export declare function createInspectUrl(item: EconItem, config?: CS2InspectConfig): string; /** * Decodes a MASKED inspect URL into an EconItem (convenience function) * Only works with MASKED URLs - use inspectItem() for universal support * * @param url - The MASKED inspect URL to decode * @param config - Optional configuration * @returns The decoded item data * @throws Error if URL is unmasked or invalid */ export declare function decodeMaskedUrl(url: string, config?: CS2InspectConfig): EconItem; /** * Decodes a MASKED inspect URL into an EconItem (convenience function) * @deprecated Use decodeMaskedUrl() instead for clearer naming */ export declare function decodeInspectUrl(url: string, config?: CS2InspectConfig): EconItem; /** * Inspects ANY inspect URL (masked or unmasked) - Universal convenience function */ export declare function inspectItem(url: string): Promise; export declare function inspectItem(url: string, options: { config?: CS2InspectConfig; steamClient?: SteamClientManager; }): Promise; export declare function inspectItem(url: string, config: CS2InspectConfig): Promise; /** * Inspects ANY inspect URL (masked or unmasked) - Universal convenience function * @deprecated Use inspectItem() instead for clearer naming */ export declare function decodeInspectUrlAsync(url: string, optionsOrConfig?: CS2InspectConfig | { config?: CS2InspectConfig; steamClient?: SteamClientManager; }): Promise; /** * Validates an EconItem (convenience function) */ export declare function validateItem(item: any): import("./types").ValidationResult; /** * Validates an inspect URL (convenience function) */ export declare function validateUrl(url: string): import("./types").ValidationResult; /** * Analyzes an inspect URL structure (static, optimized) * ⚡ Truly static - no instance creation, uses pure parsing function */ export declare function analyzeUrl(url: string, config?: CS2InspectConfig): AnalyzedInspectURL; /** * Decodes masked protobuf data directly (static, fastest) * ⚡ Direct access to ProtobufReader.decodeMaskedData * 🔥 Use this for maximum performance with known hex data */ export declare function decodeMaskedData(hexData: string, config?: CS2InspectConfig): EconItem; /** * Checks if URL requires Steam client (static, optimized) * ⚡ Truly static - no instance creation, uses pure parsing function */ export declare function requiresSteamClient(url: string, config?: CS2InspectConfig): boolean; /** * Normalizes an inspect URL to standard format (static, optimized) * ⚡ Truly static - no instance creation, uses pure parsing and formatting functions */ export declare function normalizeUrl(url: string, config?: CS2InspectConfig): string; /** * Quick URL validation check (static, optimized) * ⚡ Truly static - no instance creation, uses pure parsing function * 💡 Prefer analyzeUrl() for more detailed information */ export declare function isValidUrl(url: string, config?: CS2InspectConfig): boolean; /** * Default CS2Inspect instance for quick usage */ export declare const cs2inspect: CS2Inspect; /** * Version information */ export declare const VERSION = "4.0.0"; /** * Library information */ export declare const LIBRARY_INFO: { readonly name: "cs2-inspect-lib"; readonly version: "4.0.0"; readonly description: "Enhanced CS2 Inspect library with full protobuf support and Steam client integration"; readonly features: readonly ["Complete protobuf encoding/decoding", "Steam client integration for unmasked URLs", "Support for both masked and unmasked inspect URLs", "Input validation and error handling", "TypeScript support with comprehensive types", "Support for all CS2 item fields including new additions", "URL analysis and normalization", "Configurable validation and limits", "Queue system with rate limiting for Steam API calls"]; }; //# sourceMappingURL=index.d.ts.map