/**
 * Binary Stream WebSocket Endpoints
 *
 * Provides WebSocket endpoints for high-frequency binary data streaming
 * from WASM plugins (radar spokes, AIS targets, etc.)
 */
import { IncomingMessage } from 'http';
import { Server as HttpServer } from 'http';
import { Server as HttpsServer } from 'https';
import { SecurityStrategy, WithSecurityStrategy } from '../../security';
import { binaryStreamManager } from './binary-stream-manager';
/**
 * Extended security strategy with WebSocket authentication methods.
 * These methods are implemented by tokensecurity.js and dummysecurity.ts
 * but not declared in the base SecurityStrategy interface.
 */
interface WebSocketSecurityStrategy extends SecurityStrategy {
    shouldAllowWrite?: (request: IncomingMessage, requestType: string) => boolean;
    authorizeWS?: (request: IncomingMessage) => void;
}
/**
 * Application with HTTP server for WebSocket upgrades
 */
interface WithServer {
    server: HttpServer | HttpsServer | null;
}
/**
 * Application interface for binary stream initialization
 */
interface StreamApplication extends WithServer, Omit<WithSecurityStrategy, 'securityStrategy'> {
    securityStrategy: WebSocketSecurityStrategy;
}
/**
 * Initialize binary stream WebSocket endpoints
 *
 * @param app - SignalK application instance
 */
export declare function initializeBinaryStreams(app: StreamApplication): void;
export { binaryStreamManager };
//# sourceMappingURL=index.d.ts.map