import { PayloadAction, type Slice } from '@reduxjs/toolkit';
import type { WritableDraft } from 'immer';
import { IMessage } from '../types/types';
export interface roomHeapSliceState {
    messageHeap: IMessage[];
}
declare const reducers: {
    addMessageToHeap: (state: WritableDraft<roomHeapSliceState>, action: PayloadAction<IMessage>) => void;
    removeMessageFromHeapById: (state: WritableDraft<roomHeapSliceState>, action: PayloadAction<string>) => void;
    clearHeap: (state: WritableDraft<roomHeapSliceState>) => void;
};
export declare const roomHeapSlice: Slice<roomHeapSliceState, typeof reducers, 'roomHeapStore'>;
export declare const addMessageToHeap: import("@reduxjs/toolkit").ActionCreatorWithPayload<IMessage, "roomHeapStore/addMessageToHeap">, clearHeap: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"roomHeapStore/clearHeap">, removeMessageFromHeapById: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "roomHeapStore/removeMessageFromHeapById">;
declare const _default: import("redux").Reducer<roomHeapSliceState>;
export default _default;
//# sourceMappingURL=roomHeapSlice.d.ts.map