import { PayloadAction } from '@reduxjs/toolkit';
import { RootState } from '../../app/store';
import { MediaDeviceModel } from './models';
import { SelectMediaDeviceAction } from './actionModels';
export declare const mediaDeviceSlice: import("@reduxjs/toolkit").Slice<MediaDeviceModel, {
    setSelectedMediaDevice: (state: import("immer/dist/internal").WritableDraft<MediaDeviceModel>, action: PayloadAction<SelectMediaDeviceAction>) => void;
    setVideoIsLoading: (state: import("immer/dist/internal").WritableDraft<MediaDeviceModel>, action: PayloadAction<boolean>) => void;
}, "mediaDevice">;
export declare const setSelectedMediaDevice: import("@reduxjs/toolkit").ActionCreatorWithPayload<SelectMediaDeviceAction, "mediaDevice/setSelectedMediaDevice">, setVideoIsLoading: import("@reduxjs/toolkit").ActionCreatorWithPayload<boolean, "mediaDevice/setVideoIsLoading">;
export declare const selectCurrentAudioDeviceId: (state: RootState) => string | null;
export declare const selectCurrentVideoDeviceId: (state: RootState) => string | null;
export declare const selectCurrentMediaDeviceId: (state: RootState, kind: MediaDeviceKind) => string | null | undefined;
export declare const selectVideoIsLoading: (state: RootState) => boolean;
declare const _default: import("redux").Reducer<MediaDeviceModel, import("redux").AnyAction>;
export default _default;
