import type { NobjcObject } from "objc-js";
import type { _NSCopying } from "../Foundation/NSCopying.js";
import type { _NSData } from "../Foundation/NSData.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSSecureCoding } from "../Foundation/NSSecureCoding.js";
import type { _NEFlowMetaData } from "./NEFlowMetaData.js";
import type { NETrafficDirection } from "./NETrafficDirection.js";
export declare class _NEPacket extends _NSObject {
    static alloc(): _NEPacket;
    static new(): _NEPacket;
    init(): _NEPacket;
    /**
     * @method initWithData:protocolFamily: @discussion Initializes a new NEPacket object with data and protocol family. @param data The content of the packet. @param protocolFamily The protocol family of the packet (such as AF_INET or AF_INET6).
     */
    initWithData$protocolFamily$(data: _NSData, protocolFamily: NobjcObject): _NEPacket;
    /** @property data @discussion The data content of the packet. */
    data(): _NSData;
    /**
     * @property protocolFamily @discussion The protocol family of the packet (such as AF_INET or AF_INET6).
     */
    protocolFamily(): NobjcObject;
    /** @property direction @discussion The direction of the packet. */
    direction(): NETrafficDirection;
    /**
     * @property metadata @discussion Metadata about the source application and flow for this packet. This property will only be non-nil when the routing method for the NEPacketTunnelProvider is NETunnelProviderRoutingMethodSourceApplication.
     */
    metadata(): _NEFlowMetaData | null;
}
export interface _NEPacket extends _NSCopying, _NSSecureCoding {
}
