import { JoinRequest } from '@shardeum-foundation/lib-types/build/src/p2p/JoinTypes';
import { P2P } from '@shardeum-foundation/lib-types';
interface GossipPayload {
    nodeId?: string;
    nodeInfo?: P2P.P2PTypes.Node;
    sign?: {
        owner: string;
        sig: string;
    };
    cycleNumber?: number;
}
/**
 * Validate payload structure; ignore gossip not in Q1 or Q2; if original sender, only accept in Q1.
 * @param payload - The gossip payload to validate.
 * @param validationSchema - The schema against which to validate the payload.
 * @param logContext - Contextual log information.
 * @param sender - The sender of the gossip.
 * @returns {boolean} - True if the payload is valid, false otherwise.
 */
export declare function checkGossipPayload<T extends GossipPayload>(payload: T | JoinRequest, validationSchema: Record<string, string>, logContext: string, sender: unknown): boolean;
export {};
