/**
 * This file was automatically generated by json-schema-to-typescript.
 * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
 * and run "yarn generate-schema-types" to regenerate this file.
 */
import { ActionExecutionResult } from "..";
export interface WebSocketClientOptions {
    webSocket: {
        /**
         * URI to connect to, e.g. 'ws://localhost:8080'
         */
        uri: string;
        /**
         * Interval between reconnection attempts in milliseconds
         */
        reconnectInterval?: number;
    };
    bufferEncoding?: 'ascii' | 'utf8' | 'utf-8' | 'utf16le' | 'ucs2' | 'ucs-2' | 'base64' | 'base64url' | 'latin1' | 'binary' | 'hex';
}
export type SomeMappingWebsocketClient = Record<string, never>;
export interface SendWebSocketMessagePayload {
    /**
     * Message to send over WebSocket
     */
    message: string;
    /**
     * Optional queue ID for ordered message handling
     */
    queueId?: string;
}
export declare enum WebsocketClientActions {
    Reconnect = "reconnect",
    ResetState = "resetState",
    SendWebSocketMessage = "sendWebSocketMessage"
}
export interface WebsocketClientActionExecutionResults {
    reconnect: () => void;
    resetState: () => void;
    sendWebSocketMessage: (payload: SendWebSocketMessagePayload) => void;
}
export type WebsocketClientActionExecutionPayload<A extends keyof WebsocketClientActionExecutionResults> = Parameters<WebsocketClientActionExecutionResults[A]>[0];
export type WebsocketClientActionExecutionResult<A extends keyof WebsocketClientActionExecutionResults> = ActionExecutionResult<ReturnType<WebsocketClientActionExecutionResults[A]>>;
//# sourceMappingURL=websocketClient.d.ts.map