import { HttpBackend } from '@angular/common/http'; import { Observable } from 'rxjs'; import { SubtrakConfig } from '../tokens/config.token'; import * as i0 from "@angular/core"; /** * Main Subtrak SDK service */ export declare class SubtrakService { config: SubtrakConfig; private httpBackend; private customerIdSubject; customerId$: Observable; private http; constructor(config: SubtrakConfig, httpBackend: HttpBackend); /** * Get the configured API base URL */ get apiUrl(): string; /** * Set the customer ID for customer-scoped operations */ setCustomerId(customerId: string): void; /** * Get the current customer ID */ getCustomerId(): string | null; /** * Clear the customer ID */ clearCustomerId(): void; /** * Make a GET request to the Subtrak API */ get(endpoint: string, params?: any, options?: { responseType?: 'json' | 'blob' | 'text' | 'arraybuffer'; }): Observable; /** * Make a POST request to the Subtrak API */ post(endpoint: string, body: any): Observable; /** * Make a PUT request to the Subtrak API */ put(endpoint: string, body: any): Observable; /** * Make a PATCH request to the Subtrak API */ patch(endpoint: string, body: any): Observable; /** * Make a DELETE request to the Subtrak API */ delete(endpoint: string): Observable; /** * Enable debug logging */ enableDebug(): void; /** * Disable debug logging */ disableDebug(): void; /** * Log debug message if debug mode is enabled */ debug(message: string, ...args: any[]): void; /** * Transform object keys from camelCase to snake_case */ private transformKeysToSnakeCase; /** * Transform object keys from snake_case to camelCase */ private transformKeysToCamelCase; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }