import { KosServiceResponse } from './kos-fetch';
/**
 * @kosService core.utils
 * @kosApiLevel 2
 */
export interface ErrorResponse {
    error?: string;
}
/**
 * @kosService core.utils
 * @kosApiLevel 2
 */
export declare const waitForRequest: <ResponseType extends ErrorResponse>(requestId: string, timeout?: number) => Promise<ResponseType>;
/**
 * @kosService core.utils
 * @kosApiLevel 2
 */
export declare const sendRequest: <R, T extends KosServiceResponse<any>>(requestPromise: (param: R) => Promise<T | undefined>, params: R, refId: string) => Promise<T | undefined>;
interface SyncPublishParams<T> {
    topic: string;
    msg: T;
    requestId?: string;
}
/**
 * @kosService core.utils
 * @kosApiLevel 2
 */
export declare const syncPublish: <T, R extends ErrorResponse>({ topic, msg, requestId, }: SyncPublishParams<T>) => Promise<R>;
export {};
//# sourceMappingURL=wait-for-request.d.ts.map