import type { PermittedHandlerExport } from "@metamask/permission-controller";
import { type OpenWebSocketParams, type OpenWebSocketResult } from "@metamask/snaps-sdk";
import { type InferMatching } from "@metamask/snaps-utils";
export type OpenWebSocketMethodHooks = {
    hasPermission: (permissionName: string) => boolean;
    openWebSocket: (url: string, protocols?: string[]) => Promise<string>;
};
declare const OpenWebSocketParametersStruct: import("@metamask/superstruct").Struct<{
    url: string;
    protocols?: string[] | undefined;
}, {
    url: import("@metamask/superstruct").Struct<string, null>;
    protocols: import("@metamask/superstruct").Struct<string[] | undefined, import("@metamask/superstruct").Struct<string, null>>;
}>;
export type OpenWebSocketParameters = InferMatching<typeof OpenWebSocketParametersStruct, OpenWebSocketParams>;
/**
 * Handler for the `snap_openWebSocket` method.
 */
export declare const openWebSocketHandler: PermittedHandlerExport<OpenWebSocketMethodHooks, OpenWebSocketParams, OpenWebSocketResult>;
export {};
//# sourceMappingURL=openWebSocket.d.cts.map