export type PeerType = { connection: () => void; }; export type PeerNode = { id: string; protocol: "aigo" | "ws"; username: string; password: string; secret?: string; }; export type PeerOptions = { username?: string; password?: string; peer: string; server?: string; token: string; sdpSemantics?: string; iceServers?: { urls: string[]; username?: string; credential?: string; }[]; secret?: string; }; export type ServerOpenResonse = { peer: string; /** 服务端启用turn功能, 客户端可以开启 */ enableTurn: boolean; /** 延迟多久执行 */ turnDelay: number; sdpSemantics: string; iceServers: { urls: string[]; username?: string; credential?: string; }[]; }; export declare enum PeerICEMsgType { Heartbeat = "heartbeat", Candidate = "candidate", Offer = "offer", Answer = "answer", Open = "open", Error = "error", IdTaken = "id-taken", InvalidKey = "invalid-key", Leave = "leave", Expire = "expire", Close = "close" } export type PeerICEMsg = { type: "close" | "open" | "offer" | "answer" | "candidate" | "error" | "id-taken" | "invalid-key" | "leave" | "expire" | "fetch"; sessionId: string; /** 目标peer */ dst: string; data: any; }; export declare const DefaultPeerOptions: { sdpSemantics: string; iceServers: { urls: string[]; }[]; }; export type NegotiatorType = { error: (err: Error) => void; iceStateChanged: (state: RTCIceConnectionState) => void; }; export declare enum SocketEventType { Message = "message", Disconnected = "disconnected", Error = "error", Close = "close" } export declare enum ServerMessageType { Heartbeat = "HEARTBEAT", Candidate = "CANDIDATE", Offer = "OFFER", Answer = "ANSWER", Open = "OPEN", Error = "ERROR", IdTaken = "ID-TAKEN", InvalidKey = "INVALID-KEY", Leave = "LEAVE", Expire = "EXPIRE", Pull = "pull" }