import { ProtocolJSONSchema } from '../../schema/ProtocolJSONSchema';
import { BaseHeader } from '../abstracts/BaseHeader';
import TLV from 'node-tlv';
declare enum Type {
    PadN = "PadN",
    Tunnel_Encapsulation_Limit = "Tunnel-Encapsulation-Limit",
    Router_Alert = "Router-Alert",
    CALIPSO = "CALIPSO",
    SMF_DPD = "SMF_DPD",
    MPL_Option = "MPL-Option",
    ILNP_Nonce = "ILNP-Nonce",
    Line_Identification_Option = "Line-Identification-Option",
    IPv6_DFF_Header = "IPv6-DFF-Header",
    Endpoint_Identification = "Endpoint-Identification"
}
type PadN = {
    type: Type.PadN;
    n: number;
};
type Tunnel_Encapsulation_Limit = {
    type: Type.Tunnel_Encapsulation_Limit;
    limit: number;
};
type Router_Alert = {
    type: Type.Router_Alert;
    alert: string;
};
type CALIPSO = {
    type: Type.CALIPSO;
    tag: string;
};
type SMF_DPD = {
    type: Type.SMF_DPD;
    hash: string;
};
type MPL_Option = {
    type: Type.MPL_Option;
    value: string;
};
type ILNP_Nonce = {
    type: Type.ILNP_Nonce;
    nonce: string;
};
type Line_Identification_Option = {
    type: Type.Line_Identification_Option;
    id: string;
};
type IPv6_DFF_Header = {
    type: Type.IPv6_DFF_Header;
    message: string;
};
type Endpoint_Identification = {
    type: Type.Endpoint_Identification;
    id: string;
};
type Custom = {
    type: number;
    data: string;
};
export declare class IPv6HopByHopOptions extends BaseHeader {
    protected itemTLVs: TLV[];
    protected items: (PadN | Tunnel_Encapsulation_Limit | Router_Alert | CALIPSO | SMF_DPD | MPL_Option | ILNP_Nonce | Line_Identification_Option | IPv6_DFF_Header | Endpoint_Identification | Custom)[];
    SCHEMA: ProtocolJSONSchema;
    id: string;
    name: string;
    nickname: string;
    readonly isProtocol: boolean;
    match(): boolean;
}
export {};
//# sourceMappingURL=IPv6HopByHopOptions.d.ts.map