import { OpenAPIHono } from '@hono/zod-openapi'; import type { Logging } from 'homebridge'; import type { SecuritySystemOptions } from '../interfaces/options-interface.js'; import type { SystemState } from '../interfaces/system-state-interface.js'; import type { StateHandler } from '../handlers/state-handler.js'; import type { TripHandler } from '../handlers/trip-handler.js'; import type { SwitchHandler } from '../handlers/switch-handler.js'; /** Hono HTTP server providing remote control of the security system. */ export declare class ServerService { private readonly log; private readonly options; private readonly state; private readonly stateHandler; private readonly tripHandler; private readonly switchHandler; private readonly application; constructor(log: Logging, options: SecuritySystemOptions, state: SystemState, stateHandler: StateHandler, tripHandler: TripHandler, switchHandler: SwitchHandler); /** Exposed for testing — returns the underlying Hono app. */ get app(): OpenAPIHono; start(): void; private createAuthMiddleware; private registerRoutes; /** * Validates the Authorization: Bearer header when serverApiKey is configured. * Returns an error Response on failure, or null to allow the request through. */ private authenticate; }