import React from 'react';
import { Locale, MessageFull, MessageType, SendMessageArgs } from '../types/interfaces';
import { DialogProps, DialogPropsDefaultContext } from '../types';
export declare const useMesages: ({ port, server, roomId, userId, containerRef, inputRef, locale, }: {
    port: number;
    server: string;
    roomId: string | number;
    userId: string | number;
    containerRef: React.RefObject<HTMLDivElement>;
    inputRef: React.RefObject<HTMLTextAreaElement>;
    locale: Locale.Client;
}) => {
    changeText: (e: React.FormEvent<HTMLTextAreaElement>) => void;
    blocked: boolean;
    sendMessage: () => void;
    messages: MessageFull[];
    message: string;
    rows: number;
    clickQuoteWrapper: (context: DialogProps<DialogPropsDefaultContext>['context']) => () => void;
    clickEditWrapper: (context: DialogProps<DialogPropsDefaultContext>['context']) => () => void;
    clickDeleteWrapper: (context: DialogProps<DialogPropsDefaultContext>['context']) => () => void;
    isEdit: boolean;
    error: "initial" | "roomIsInactive" | "errorSendMessage" | "youAreBanned" | "videoRecordStop" | "forbidden" | "notAuthorised" | "duplicateTab" | "errorDeleteMessage" | "errorSetAdmin" | "errorToBan" | "errorToMute" | "errorToOffCamera" | undefined;
    editMessage: MessageFull | undefined;
    onClickCloseEditMessage: () => void;
    quoteMessage: MessageFull | undefined;
    textAreaLeft: () => 5 | 16;
    clickBlockChatWrapper: (context: DialogProps<DialogPropsDefaultContext>['context']) => () => void;
};
export declare const useDialog: () => {
    dialog: Omit<DialogProps<DialogPropsDefaultContext>, "children">;
    messageContextWrapper: (item: MessageFull, secure: boolean) => (ev: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
};
export declare const useScrollToQuote: ({ containerRef, messages, }: {
    containerRef: React.RefObject<HTMLDivElement>;
    messages: SendMessageArgs<MessageType.SET_CHAT_MESSAGES>['data']['result'];
}) => {};
export declare const useRoomIsInactive: () => boolean;
