import { Response } from 'express';
import { WebSocket } from './types';
declare type MiddlewareFns = (req: WebSocket['upgradeReq'], res: Response, resolve: (r: {
    req: WebSocket;
}) => unknown) => void;
interface ReturnOnConnect {
    req: WebSocket['upgradeReq'];
}
declare const createSubscriptionOnConnect: <T extends ReturnOnConnect>(middlewares: MiddlewareFns[]) => (connectionParams: Object, webSocket: WebSocket<import("express").Request<import("express-serve-static-core").ParamsDictionary>>) => Promise<T>;
export default createSubscriptionOnConnect;
