import { RpcInterceptor } from '@protobuf-ts/runtime-rpc';
import { TwirpOptions } from '@protobuf-ts/twirp-transport';
import { SignalServerClient } from '../gen/video/sfu/signal_rpc/signal.client';
import type { Trace } from '../stats';
import type { ScopedLogger } from '../logger';
import type { LogLevel } from '@stream-io/logger';
export declare const withHeaders: (headers: Record<string, string>) => RpcInterceptor;
export declare const TIMEOUT_SYMBOL = "@@stream-io/timeout";
export declare const withTimeout: (timeoutMs: number, trace?: Trace) => RpcInterceptor;
export declare const withRequestLogger: (logger: ScopedLogger, level?: LogLevel) => RpcInterceptor;
export declare const withRequestTracer: (trace: Trace) => RpcInterceptor;
/**
 * Creates new SignalServerClient instance.
 *
 * @param options the twirp options.
 */
export declare const createSignalClient: (options?: TwirpOptions) => SignalServerClient;
