/**
 * Wire Validation
 *
 * Validates event wire compatibility between behaviors based on typed payloads.
 * Used by FlowCanvas when the user drags between event handles.
 */
export interface PayloadField {
    name: string;
    type: string;
    required?: boolean;
}
export interface WireValidationResult {
    valid: boolean;
    warnings: string[];
}
/**
 * Validate that a wire between two event handles is payload-compatible.
 *
 * Rules:
 * - If neither side declares a payload, the wire is valid (no data contract).
 * - If source has payload but target doesn't, valid with info (data is unused).
 * - If target expects required fields that source doesn't provide, warn.
 * - If both have fields with the same name but different types, warn.
 */
export declare function validateWire(sourcePayload: PayloadField[] | undefined, targetPayload: PayloadField[] | undefined): WireValidationResult;
/**
 * Format payload fields into a tooltip string.
 * Example: "{ data: object (req), query: string }"
 */
export declare function formatPayloadTooltip(fields: PayloadField[]): string;
