import type { ServerInfo } from '../types';
export declare const PROTOCOL_VERSION = "2.0";
export declare const DEFAULT_PORT = 8089;
export interface ITransport {
    name: string;
    start(): Promise<void>;
    stop(): Promise<void>;
}
interface DiscoveryAnnounce {
    info: Partial<ServerInfo>;
}
export interface DiscoveryRequest {
    id: string;
    filters?: {
        generators?: string[];
        min_version?: string;
    };
}
interface DiscoveryResponse {
    request_id: string;
    info: Partial<ServerInfo>;
}
export interface IDiscoveryProtocol {
    t: 'ANNOUNCE' | 'QUERY' | 'RESPONSE';
    v: string;
    d: DiscoveryAnnounce | DiscoveryRequest | DiscoveryResponse;
    ts?: number;
    kid?: string;
    sig?: string;
}
export type GetServerInfoFn = () => ServerInfo;
export {};
