import { HttpClient, HttpClientConfig } from './http/client'; import { AuthResource } from './resources/auth'; import { UsersResource } from './resources/users'; import { TenantsResource } from './resources/tenants'; import { ApiTokensResource } from './resources/api-tokens'; import { BrandingResource } from './resources/branding'; import { DashboardResource } from './resources/dashboard'; import { DevicesResource } from './resources/devices'; import { AdvancedWebhooksResource } from './resources/advanced-webhooks'; /** * Admin API Client configuration */ export interface AdminClientConfig extends Omit { auth?: { type: 'jwt' | 'apiToken'; token: string; }; onRequest?: (config: any) => any; } /** * Admin API Client - Main entry point for the SDK * * @example * ```typescript * const admin = new AdminAPIClient({ * baseURL: 'http://localhost:3000', * auth: { type: 'jwt', token: 'your-token' } * }); * * const users = await admin.users.list(); * const tenants = await admin.tenants.list(); * const tokens = await admin.apiTokens.list('tenant_123'); * const branding = await admin.branding.get('tenant_123'); * const stats = await admin.dashboard.getStats(); * const devices = await admin.devices.list(); * const webhooks = await admin.advancedWebhooks.list({ tenantId: 'tenant_123' }); * ``` */ export declare class AdminAPIClient { /** * HTTP client instance */ readonly http: HttpClient; /** * Auth resource */ readonly auth: AuthResource; /** * Users resource */ readonly users: UsersResource; /** * Tenants resource */ readonly tenants: TenantsResource; /** * API Tokens resource */ readonly apiTokens: ApiTokensResource; /** * Branding resource */ readonly branding: BrandingResource; /** * Dashboard resource */ readonly dashboard: DashboardResource; /** * Devices resource */ readonly devices: DevicesResource; /** * Advanced Webhooks resource */ readonly advancedWebhooks: AdvancedWebhooksResource; constructor(config: AdminClientConfig); /** * Set authentication token * * @param token - JWT token or API token * @param type - Token type ('jwt' or 'apiToken') * * @example * ```typescript * admin.setAuth('your-jwt-token', 'jwt'); * ``` */ setAuth(token: string, type: 'jwt' | 'apiToken'): void; /** * Clear authentication * * @example * ```typescript * admin.clearAuth(); * ``` */ clearAuth(): void; } //# sourceMappingURL=client.d.ts.map