import { HamokCodec } from '../common/HamokCodec';
import { StorageSyncRequest, StorageSyncResponse } from './messagetypes/StorageSync';
import { SubmitMessageRequest, SubmitMessageResponse } from './messagetypes/SubmitMessage';
import { HamokMessage } from './HamokMessage';
import { OngoingRequestsNotification } from './messagetypes/OngoingRequests';
import { EndpointStatesNotification } from './messagetypes/EndpointNotification';
import { HelloNotification } from './messagetypes/HelloNotification';
import { JoinNotification } from './messagetypes/JoinNotification';
type Input = HelloNotification | JoinNotification | EndpointStatesNotification | OngoingRequestsNotification | StorageSyncRequest | StorageSyncResponse | SubmitMessageRequest | SubmitMessageResponse;
export declare class HamokGridCodec implements HamokCodec<Input, HamokMessage> {
    encode(input: Input): HamokMessage;
    decode(message: HamokMessage): Input;
    encodeHelloNotification(notification: HelloNotification): HamokMessage;
    decodeHelloNotification(message: HamokMessage): HelloNotification;
    encodeJoinNotification(notification: JoinNotification): HamokMessage;
    decodeJoinNotification(message: HamokMessage): JoinNotification;
    encodeEndpointStateNotification(notification: EndpointStatesNotification): HamokMessage;
    decodeEndpointStateNotification(message: HamokMessage): EndpointStatesNotification;
    encodeOngoingRequestsNotification(notification: OngoingRequestsNotification): HamokMessage;
    decodeOngoingRequestsNotification(message: HamokMessage): OngoingRequestsNotification;
    encodeSubmitMessageRequest(request: SubmitMessageRequest): HamokMessage;
    decodeSubmitMessageRequest(message: HamokMessage): SubmitMessageRequest;
    encodeSubmitMessageResponse(response: SubmitMessageResponse): HamokMessage;
    decodeSubmitMessageResponse(message: HamokMessage): SubmitMessageResponse;
    private static _encodeSet;
    private static _decodeSet;
}
export {};
//# sourceMappingURL=HamokGridCodec.d.ts.map