import type { InferProvider } from '../capabilities/capability-definition.js';
import type { AddonApi } from './addon-api.js';
import type { addonPagesCapability } from '../capabilities/addon-pages.cap.js';
import type { addonsCapability } from '../capabilities/addons.cap.js';
import type { addonSettingsCapability } from '../capabilities/addon-settings.cap.js';
import type { addonWidgetsCapability } from '../capabilities/addon-widgets.cap.js';
import type { alertsCapability } from '../capabilities/alerts.cap.js';
import type { audioAnalyzerCapability } from '../capabilities/audio-analyzer.cap.js';
import type { audioCodecCapability } from '../capabilities/audio-codec.cap.js';
import type { authenticationCapability } from '../capabilities/authentication.cap.js';
import type { backupCapability } from '../capabilities/backup.cap.js';
import type { decoderCapability } from '../capabilities/decoder.cap.js';
import type { deviceManagerCapability } from '../capabilities/device-manager.cap.js';
import type { deviceProviderCapability } from '../capabilities/device-provider.cap.js';
import type { deviceStateCapability } from '../capabilities/device-state.cap.js';
import type { integrationsCapability } from '../capabilities/integrations.cap.js';
import type { localNetworkCapability } from '../capabilities/local-network.cap.js';
import type { meshNetworkCapability } from '../capabilities/mesh-network.cap.js';
import type { meshOrchestratorCapability } from '../capabilities/mesh-orchestrator.cap.js';
import type { metricsProviderCapability } from '../capabilities/metrics-provider.cap.js';
import type { networkQualityCapability } from '../capabilities/network-quality.cap.js';
import type { nodesCapability } from '../capabilities/nodes.cap.js';
import type { notificationOutputCapability } from '../capabilities/notification-output.cap.js';
import type { pipelineExecutorCapability } from '../capabilities/pipeline-executor.cap.js';
import type { pipelineOrchestratorCapability } from '../capabilities/pipeline-orchestrator.cap.js';
import type { pipelineRunnerCapability } from '../capabilities/pipeline-runner.cap.js';
import type { platformProbeCapability } from '../capabilities/platform-probe.cap.js';
import type { recordingEngineCapability } from '../capabilities/recording-engine.cap.js';
import type { remoteAccessCapability } from '../capabilities/remote-access.cap.js';
import type { settingsStoreCapability } from '../capabilities/settings-store.cap.js';
import type { storageCapability } from '../capabilities/storage.cap.js';
import type { streamBrokerCapability } from '../capabilities/stream-broker.cap.js';
import type { systemCapability } from '../capabilities/system.cap.js';
import type { toastCapability } from '../capabilities/toast.cap.js';
import type { turnOrchestratorCapability } from '../capabilities/turn-orchestrator.cap.js';
import type { turnProviderCapability } from '../capabilities/turn-provider.cap.js';
import type { userManagementCapability } from '../capabilities/user-management.cap.js';
/**
 * Cluster-wide facade over every `scope: 'system'` capability. Each entry
 * is a typed namespace exposing only the cap's non-device-bound methods —
 * device-scoped slices already surface on `DeviceProxy`.
 *
 * Consumed by the SDK's `System` class as the source of truth for
 * `system.<cap>.<method>(input)` calls.
 */
export interface SystemProxy {
    readonly addonPages: Pick<InferProvider<typeof addonPagesCapability>, 'listPages'>;
    readonly addons: Pick<InferProvider<typeof addonsCapability>, 'list' | 'getLogs' | 'listPackages' | 'installPackage' | 'installFromWorkspace' | 'isWorkspaceAvailable' | 'listWorkspacePackages' | 'uninstallPackage' | 'reloadPackages' | 'searchAvailable' | 'listUpdates' | 'updatePackage' | 'rollbackPackage' | 'forceRefresh' | 'restartServer' | 'getVersions' | 'restartAddon' | 'retryLoad' | 'getAutoUpdateSettings' | 'setAutoUpdateSettings' | 'getAddonAutoUpdate' | 'setAddonAutoUpdate' | 'applyAutoUpdateToAll' | 'custom' | 'onAddonLogs'>;
    readonly addonSettings: Pick<InferProvider<typeof addonSettingsCapability>, 'getGlobalSettings' | 'updateGlobalSettings'>;
    readonly addonWidgets: Pick<InferProvider<typeof addonWidgetsCapability>, 'listWidgets'>;
    readonly alerts: Pick<InferProvider<typeof alertsCapability>, 'emit' | 'update' | 'list' | 'getUnreadCount' | 'markRead' | 'markAllRead' | 'dismiss'>;
    readonly audioAnalyzer: Pick<InferProvider<typeof audioAnalyzerCapability>, 'analyseChunk' | 'classify' | 'isReady' | 'dispose' | 'reprobeAudioEngine'>;
    readonly audioCodec: Pick<InferProvider<typeof audioCodecCapability>, 'listSupportedCodecs' | 'canHandle' | 'createDecodeSession' | 'createEncodeSession' | 'closeSession' | 'pushEncodedFrame' | 'pullPcm' | 'pushPcm' | 'pullEncoded' | 'flushEncode' | 'listActiveSessions'>;
    readonly authentication: Pick<InferProvider<typeof authenticationCapability>, 'listProviders' | 'setProviderEnabled'>;
    readonly backup: Pick<InferProvider<typeof backupCapability>, 'listDestinations' | 'trigger' | 'list' | 'listLocations' | 'getEntries' | 'restore' | 'delete' | 'listArchives' | 'upsertDestinationPolicy' | 'previewSchedule'>;
    readonly decoder: Pick<InferProvider<typeof decoderCapability>, 'supportsCodec' | 'getInfo' | 'createSession' | 'destroySession' | 'pushPacket' | 'openStream' | 'pullFrames' | 'updateConfig' | 'getStats' | 'listActiveSessions' | 'reprobeHwaccel'>;
    readonly deviceManager: Pick<InferProvider<typeof deviceManagerCapability>, 'allocateDeviceId' | 'registerDevice' | 'removeDevice' | 'persistConfig' | 'listLocations' | 'addLocation' | 'removeLocation' | 'listPersistedByAddon' | 'listAll' | 'getChildren' | 'listWrappersForCap' | 'listBindableCapsForDeviceType' | 'discoverDevices' | 'adoptDevice' | 'getCreationSchema' | 'createDevice' | 'testCreationField'>;
    readonly deviceProvider: Pick<InferProvider<typeof deviceProviderCapability>, 'start' | 'stop' | 'getStatus' | 'getDevices' | 'supportsDiscovery' | 'discoverDevices' | 'adoptDiscoveredDevice' | 'supportsManualCreation' | 'getChildCreationSchema' | 'createDevice' | 'testCreationField'>;
    readonly deviceState: Pick<InferProvider<typeof deviceStateCapability>, 'getAllSnapshots'>;
    readonly integrations: Pick<InferProvider<typeof integrationsCapability>, 'list' | 'get' | 'getByAddonId' | 'create' | 'update' | 'delete' | 'getSettings' | 'setSettings' | 'getAvailableTypes' | 'testConnection'>;
    readonly localNetwork: Pick<InferProvider<typeof localNetworkCapability>, 'list' | 'getPreferred' | 'getConnectionEndpoints' | 'getAllowedAddresses' | 'setAllowedAddresses' | 'resetAllowlistToBestMatch'>;
    readonly meshNetwork: Pick<InferProvider<typeof meshNetworkCapability>, 'getStatus' | 'join' | 'leave' | 'listPeers' | 'setPublicIngress' | 'setMeshIngress'>;
    readonly meshOrchestrator: Pick<InferProvider<typeof meshOrchestratorCapability>, 'listProviders' | 'joinProvider' | 'leaveProvider'>;
    readonly metricsProvider: Pick<InferProvider<typeof metricsProviderCapability>, 'collectSnapshot' | 'getCached' | 'getCurrent' | 'getDiskSpace' | 'getGpuInfo' | 'getCpuTemperature' | 'getProcessStats' | 'listAddonInstances' | 'getAddonStats' | 'listNodeProcesses' | 'killProcess'>;
    readonly networkQuality: Pick<InferProvider<typeof networkQualityCapability>, 'getAllStats'>;
    readonly nodes: Pick<InferProvider<typeof nodesCapability>, 'topology' | 'deployAddon' | 'undeployAddon' | 'restartAddon' | 'restartProcess' | 'restartNode' | 'shutdownNode' | 'renameNode' | 'clusterAddonStatus' | 'setProcessLogLevel' | 'executeQuery'>;
    readonly notificationOutput: Pick<InferProvider<typeof notificationOutputCapability>, 'send' | 'sendTest'>;
    readonly pipelineExecutor: Pick<InferProvider<typeof pipelineExecutorCapability>, 'getAvailableEngines' | 'getSelectedEngine' | 'getDefaultSteps' | 'reprobeEngine' | 'getVideoPipelineSteps' | 'setVideoPipelineSteps' | 'getSchema' | 'getGlobalSteps' | 'getGlobalPipelineConfig' | 'getOrchestratorConfigSchema' | 'listTemplates' | 'saveTemplate' | 'updateTemplate' | 'deleteTemplate' | 'getCapabilities' | 'getAddonModels' | 'downloadModel' | 'deleteModel' | 'detect' | 'cacheFrameInPool' | 'inferCached' | 'uncacheFrame' | 'getEffectiveTuning' | 'listLoadedEngines' | 'spinEngine' | 'killEngine' | 'listReferenceImages' | 'getReferenceImage' | 'getReferenceAudioFiles' | 'getReferenceAudio' | 'getAudioCapabilities' | 'runAudioTest' | 'getDetectionConfigSchema'>;
    readonly pipelineOrchestrator: Pick<InferProvider<typeof pipelineOrchestratorCapability>, 'rebalance' | 'getPipelineAssignments' | 'getAgentLoad' | 'getGlobalMetrics' | 'getCapabilityBindings' | 'setCapabilityBinding' | 'getDecoderAssignments' | 'getAudioNodeLoad' | 'getAgentSettings' | 'listAgentSettings' | 'setAgentAddonDefaults' | 'removeAgentSettings' | 'listTemplates' | 'saveTemplate' | 'updateTemplate' | 'deleteTemplate'>;
    readonly pipelineRunner: Pick<InferProvider<typeof pipelineRunnerCapability>, 'attachCamera' | 'reportMotion' | 'getLocalLoad' | 'getLocalMetrics' | 'getAllCameraMetrics' | 'getLocalCameras'>;
    readonly platformProbe: Pick<InferProvider<typeof platformProbeCapability>, 'getCapabilities' | 'getHardware' | 'resolveInferenceConfig' | 'resolveHwAccel'>;
    readonly recordingEngine: Pick<InferProvider<typeof recordingEngineCapability>, 'getStatus' | 'enable' | 'disable' | 'getConfig' | 'updateConfig' | 'getPlaylist' | 'getThumbnail' | 'getSegments' | 'getAvailability' | 'estimateStorage' | 'estimateGlobalStorage' | 'getStorageUsage' | 'setPolicy' | 'getPolicy' | 'getRetentionConfig' | 'updateRetentionConfig' | 'getMotionStats'>;
    readonly remoteAccess: Pick<InferProvider<typeof remoteAccessCapability>, 'listProviders' | 'startProvider' | 'stopProvider'>;
    readonly settingsStore: Pick<InferProvider<typeof settingsStoreCapability>, 'get' | 'set' | 'query' | 'insert' | 'update' | 'delete' | 'count' | 'isEmpty' | 'declareCollection'>;
    readonly storage: Pick<InferProvider<typeof storageCapability>, 'resolve' | 'write' | 'read' | 'exists' | 'list' | 'delete' | 'getAvailableSpace' | 'beginUpload' | 'writeChunk' | 'finalizeUpload' | 'abortUpload' | 'beginDownload' | 'readChunk' | 'endDownload' | 'listLocations' | 'getDefaultLocation' | 'upsertLocation' | 'deleteLocation' | 'testLocation' | 'listProviders' | 'testConfig'>;
    readonly streamBroker: Pick<InferProvider<typeof streamBrokerCapability>, 'listAllCameraStreams' | 'listAllProfileSlots' | 'getBrokerStats' | 'listClients' | 'killClient' | 'getStreamUrl' | 'getBroker' | 'setPreBufferDuration' | 'getPreBufferInfo' | 'getRtspPort' | 'getAllRtspEntries' | 'getRtspEntry' | 'regenerateRtspToken' | 'setRtspEnabled' | 'isRtspEnabled'>;
    readonly system: Pick<InferProvider<typeof systemCapability>, 'info' | 'health' | 'featureFlags' | 'networkAddresses' | 'getRetentionConfig' | 'setRetentionConfig' | 'forceRetentionCleanup'>;
    readonly toast: Pick<InferProvider<typeof toastCapability>, 'onToast'>;
    readonly turnOrchestrator: Pick<InferProvider<typeof turnOrchestratorCapability>, 'listProviders' | 'getAllServers' | 'setProviderEnabled'>;
    readonly turnProvider: Pick<InferProvider<typeof turnProviderCapability>, 'getTurnServers'>;
    readonly userManagement: Pick<InferProvider<typeof userManagementCapability>, 'listUsers' | 'createUser' | 'updateUser' | 'deleteUser' | 'resetPassword' | 'validateCredentials' | 'listApiKeys' | 'createApiKey' | 'revokeApiKey' | 'validateApiKey' | 'createScopedToken' | 'revokeScopedToken' | 'validateScopedToken' | 'listScopedTokens'>;
}
/**
 * Build a `SystemProxy` that dispatches every namespace method through
 * the existing system-cap tRPC procedures (`api.<capProp>.<method>.{query,mutate,subscribe}`).
 *
 * Pure function — no caching, no live state. The caller (typically
 * `System`) owns the `AddonApi` instance and disposes the proxy by
 * dropping the reference.
 */
export declare function createSystemProxy(api: AddonApi): SystemProxy;
//# sourceMappingURL=system-proxy.d.ts.map