import { DailyEventObject, DailyEventObjectNonFatalError } from '@daily-co/daily-js';
import { Reconstruct } from '../types/Reconstruct';
type DailyEventObjectLiveStreamingWarning = Reconstruct<DailyEventObjectNonFatalError, 'type', 'live-streaming-warning'>;
interface UseLiveStreamingArgs {
    onLiveStreamingStarted?(ev: DailyEventObject<'live-streaming-started'>): void;
    onLiveStreamingStopped?(ev: DailyEventObject<'live-streaming-stopped'>): void;
    onLiveStreamingUpdated?(ev: DailyEventObject<'live-streaming-updated'>): void;
    onLiveStreamingError?(ev: DailyEventObject<'live-streaming-error'>): void;
    onLiveStreamingWarning?(ev: DailyEventObjectLiveStreamingWarning): void;
}
/**
 * This hook allows to setup [live streaming events](https://docs.daily.co/reference/daily-js/events/live-streaming-events),
 * as well as starting, stopping and updating live streams.
 *
 * Returns the current live streaming state, incl. the current layout and potential errorMsg.
 */
export declare const useLiveStreaming: ({ onLiveStreamingError, onLiveStreamingStarted, onLiveStreamingStopped, onLiveStreamingUpdated, onLiveStreamingWarning, }?: UseLiveStreamingArgs) => {
    startLiveStreaming: (options: import("@daily-co/daily-js").DailyLiveStreamingOptions<"start">) => void;
    stopLiveStreaming: (options?: {
        instanceId: string;
    } | undefined) => void;
    updateLiveStreaming: (options: {
        layout?: import("@daily-co/daily-js").DailyLiveStreamingLayoutConfig<"update"> | undefined;
        instanceId?: string | undefined;
    }) => void;
    errorMsg?: string | undefined;
    isLiveStreaming: boolean;
    layout?: import("@daily-co/daily-js").DailyStreamingLayoutConfig<"start"> | undefined;
};
export {};
