import type { API, DynamicPlatformPlugin, Logging } from "homebridge";
import { FeatureOptions, FfmpegCodecs, RtpPortAllocator } from "homebridge-plugin-utils";
import type { Clock, HomebridgePluginLogging, RecordingProcessFactory } from "homebridge-plugin-utils";
import type { ProtectAccessory, ProtectPlatformConfig } from "./types.ts";
import type { ProtectOptions } from "./options.ts";
import type { StreamingDelegateFactory } from "./media/stream-delegate.ts";
export declare class ProtectPlatform implements DynamicPlatformPlugin {
    accessories: ProtectAccessory[];
    readonly api: API;
    readonly clock: Clock;
    private _codecSupport;
    readonly config: ProtectOptions;
    private readonly controllers;
    readonly featureOptions: FeatureOptions;
    readonly log: Logging;
    readonly pluginLog: HomebridgePluginLogging;
    readonly recordingProcessFactory: RecordingProcessFactory;
    readonly rtpPorts: RtpPortAllocator;
    readonly streamingDelegateFactory: StreamingDelegateFactory;
    verboseFfmpeg: boolean;
    constructor(log: Logging, config: ProtectPlatformConfig | undefined, api: API);
    get codecSupport(): FfmpegCodecs;
    configureAccessory(accessory: ProtectAccessory): void;
    private launchControllers;
    debug(message: string, ...parameters: unknown[]): void;
}
//# sourceMappingURL=platform.d.ts.map