import { ChatMessage, Poll } from '../types/APITypes';
import { DyteViewTypes } from '../utils/dyte-utils/src';
export declare enum MediaStates {
    NOT_STARTED = "NOT_STARTED",
    CONNECTING = "CONNECTING",
    FETCHED = "FETCHED",
    LOADED = "LOADED",
    STOPPING = "STOPPING",
    NOT_APPLICABLE = "NOT_APPLICABLE"
}
export declare enum RoomSocketState {
    NOT_STARTED = 0,
    CONNECTED = 1,
    DISCONNECTED = 2,
    ERRORED = 3
}
export declare enum WaitingState {
    NONE = 0,
    WAITING = 1,
    ACCEPTED = 2,
    REJECTED = 3
}
export declare type MediaProducer = {
    id: string;
    paused: boolean;
    type: string;
    kind: string;
};
declare type RoomState = {
    routerState: MediaStates;
    producersState: MediaStates;
    roomDisplayTitleState: MediaStates;
    socketState: RoomSocketState;
    chatMessages: ChatMessage[];
    polls: {
        [pollId: string]: Poll;
    };
    joined: boolean;
    legacyMode: boolean;
    roomDisplayTitle: string;
    activeSpeakerPeerId: string;
    roomUUID: string;
    startedAt: string;
    maxPreferredStreams: number;
    roomNodeLink: string;
    waitingState: WaitingState;
    waitlistedPeers: Array<{
        id: string;
        name: string;
    }>;
    password: string;
    roomName: string;
    gridView: string;
    gridViewSaved: string;
    pinnedPeerId: string;
    kicked: boolean;
    presetFetched: boolean;
    showSetupScreen: boolean;
    screenShareRequested: boolean;
    currentPage: number;
    roomViewType: DyteViewTypes;
    requestToJoinPeersList: Array<{
        id: string;
        name: string;
        seen: boolean;
        requestToJoinType: 'REQUEST_TO_PRESENT' | 'REQUEST_TO_ASK';
    }>;
};
export declare const setRouterCapability: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
export declare const setTransport: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
export declare const setTransportConnected: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
export declare const setRoomSocketState: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
export declare const setPresetFetched: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
export declare const setRouterFetchState: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
export declare const setRoomDisplayTitleState: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
export declare const setRoomNodeLink: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
export declare const setProducersState: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
export declare const resetRoom: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
export declare const addChatMessage: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
export declare const getChatMessages: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
export declare const getPolls: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
export declare const updatePoll: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
export declare const setLegacyMode: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
export declare const setRoomState: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
export declare const setRoomDisplayTitle: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
export declare const changeActiveSpeaker: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
export declare const clearActiveSpeaker: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"websocket/no-active-speaker">;
export declare const waitlistAccepted: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"websocket/waitlist-accepted">;
export declare const waitlistRejected: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"websocket/waitlist-rejected">;
export declare const newWaitListPeer: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
export declare const removeWaitListPeer: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
export declare const setRoomPassword: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
export declare const markMessagesRead: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
export declare const setRoomGridView: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
export declare const pinPeer: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
export declare const kicked: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"websocket/kicked">;
export declare const setShowSetupScreen: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
export declare const setScreenShareRequested: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
export declare const setCurrentPage: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
export declare const newRequestedJoinToStage: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
export declare const peerAddedToStage: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
export declare const peerRemovedToStage: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
export declare const requestedJoinToStageSeen: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"room/seen-all-participant">;
export declare const setRoomViewType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
declare const roomReducer: import("redux").Reducer<RoomState, import("redux").AnyAction>;
export default roomReducer;
