import { type WatchRegistrationRequest, type WatchRegistrationResult, type WatchRegistry, type WatchTriggerResult } from '@quenty/nevermore-deploy'; export interface HttpWatchRegistryOptions { /** Full register endpoint, ending in the lease — `.../v1/register/7d/`. */ registerUrl: string; timeoutMs?: number; /** Injected in tests. Defaults to the global fetch. */ fetchImpl?: typeof fetch; } /** * `WatchRegistry` over the Roblox Analytics Watch API. * * One `POST /v1/register/{lease}` per invocation. The endpoint is whatever URL * `--watch` resolved to, so nothing here assumes a host, and the lease is * already the last path segment of that URL. * * The endpoint takes no `Authorization` header — the GitHub token travels in * `auth.github.token`, because the service holds it to dispatch with later * rather than using it to authenticate this call. */ export declare class HttpWatchRegistry implements WatchRegistry { private _registerUrl; private _timeoutMs; private _fetch; constructor(options: HttpWatchRegistryOptions); registerAsync(request: WatchRegistrationRequest): Promise; triggerAsync(monitorId: string, credential: string, options?: { watchName?: string; }): Promise; /** * The API root, recovered from the register URL. * * `--watch` names the register endpoint because that is the one a user has to * type; every other call is derived from it. The lease-bearing * `/v1/register//` suffix is the documented shape, so trimming it is * how a single flag reaches the rest of the API. */ private _apiBase; private _fetchWithTimeoutAsync; } //# sourceMappingURL=http-watch-registry.d.ts.map