import { Context, ContextFactoryOptions, ContextDefaultState } from './context';
import { kSerializeData } from '../../utils/constants';
export type MessagesReadContextType = 'messages_read';
export type MessagesReadContextSubType = 'messages_read_inbox' | 'messages_read_outbox';
export interface IMessagesReadContextPayload {
    peer_id: number;
    local_id: number;
}
export type MessagesReadContextContextOptions<S> = ContextFactoryOptions<number[], S>;
export declare class MessagesReadContext<S = ContextDefaultState> extends Context<IMessagesReadContextPayload, S, MessagesReadContextType, MessagesReadContextSubType> {
    constructor(options: MessagesReadContextContextOptions<S>);
    /**
     * Checks that inbox messages are read
     */
    get isInbox(): boolean;
    /**
     * Checks that outbox messages are read
     */
    get isOutbox(): boolean;
    /**
     * Returns the peer ID
     */
    get peerId(): number;
    /**
     * Returns the identifier of the local message
     */
    get localId(): number;
    /**
     * Returns the custom data
     */
    [kSerializeData](): object;
}
