import { KosBroadcastRequest, KosFetchReqeust, KosFetchResponseParams, KosMessageOptions, KosHttpMessageOptions, KosMessageRequest } from '../types';

export declare const createStudioMessage: ({ path, requestId, method, destinationAddress, }: KosFetchReqeust) => string;
export declare const createFosBaseMessage: ({ path, requestId, method, destinationAddress, ordered, tracker, }: KosFetchReqeust) => string;
export declare const createBaseMessage: ({ path, requestId, method, destinationAddress, ordered, tracker, bridge, headers, }: KosFetchReqeust) => string;
export declare const createMessageBody: (msg: string, body?: string) => string;
export declare function createHeaders(headers: Record<string, string>): Headers;
export declare function createReadableStream(msg: string): ReadableStream<Uint8Array> | null;
export declare const createStudioMessageRequest: ({ path, requestId, destinationAddress, }: KosFetchReqeust) => string;
export declare const createKosMessage: ({ requestId, destinationAddress, requestType, headers, }: KosMessageRequest) => string;
export declare const sendKosMessage: <T extends object>(msg: T, options: KosMessageRequest) => void;
export declare const createStudioMessageResponse: ({ path, responseId, status, destinationAddress, }: KosFetchResponseParams) => string;
export declare const sendStudioMessageRequest: <T extends object>(msg: T, options: KosFetchReqeust) => void;
export declare const sendStudioMessage: <T extends object>(msg: T, options: KosFetchResponseParams) => void;
export declare const createBroadcastMessageResponse: ({ topic, }: KosBroadcastRequest) => string;
export declare const createKosHtpMessageResponse: ({ responseId, destinationAddress, type, sourceAddress, status, }: KosHttpMessageOptions) => string;
export declare const createKosMessageResponse: ({ topic, responseId, destinationAddress, type, }: KosMessageOptions) => string;
export interface KosBroadcastRequestParams<T extends object> {
    msg: T;
    options: KosBroadcastRequest;
}
export declare const sendBroadcastMessage: <T extends object>({ msg, options, }: KosBroadcastRequestParams<T>) => void;
export interface KosMessageResponseParams<T extends object> {
    msg: T;
    options: KosMessageOptions;
}
export interface KosHttpMessageResponseParams<T extends object> {
    msg: T;
    options: KosHttpMessageOptions;
}
export declare const sendKosMessageResponse: <T extends object>({ msg, options, }: KosMessageResponseParams<T>) => void;
export declare const sendKosHttpMessageResponse: <T extends object>({ msg, options, }: KosHttpMessageResponseParams<T>) => void;
export declare const getMessageBody: (payload: any, skipParse: any) => any;
//# sourceMappingURL=kos-message-utils.d.ts.map