import { EdhocCredentials, EdhocConnectionID, EdhocEAD, EdhocSuite } from './edhoc';
/** Encode a CBOR sequence (concatenated CBOR items) */
export declare function encodeCborSequence(...items: unknown[]): Buffer;
/** Decode N items from a CBOR sequence buffer */
export declare function decodeCborSequence(buf: Buffer, count?: number): unknown[];
/** Encode SUITES_I: single int if one suite, array if multiple (selected last) */
export declare function encodeSuites(suites: EdhocSuite[], selected: EdhocSuite): number | number[];
/** Convert a connection ID to its raw byte representation (for OSCORE IDs).
 *  RFC 9528 §3.3.2: the OSCORE identifier is a 1-byte bstr whose byte value
 *  is the CBOR encoding of the integer n ∈ [-24, 23]. */
export declare function connectionIdToBytes(cid: EdhocConnectionID): Buffer;
/** Decode a CBOR-decoded value back to an EdhocConnectionID */
export declare function connectionIdFromCbor(value: unknown): EdhocConnectionID;
/** Encode ID_CRED_x for PLAINTEXT / context embedding (already CBOR) */
export declare function encodeIdCred(credentials: EdhocCredentials): Buffer;
/** Encode ID_CRED_x as a CBOR map (full form for MAC context / Sig_structure).
 *  For kid: {4: bstr(cbor(kid))}; for x5chain/x5t: same as encodeIdCred. */
export declare function encodeIdCredMap(credentials: EdhocCredentials): Buffer;
/** Encode CRED_x as a CBOR item for use in context / TH input.
 *  For CCS (kid + isCBOR): credBytes is already CBOR, return as-is.
 *  For DER certs: wrap as CBOR bstr. */
export declare function encodeCredItem(credentials: EdhocCredentials, credBytes: Buffer): Buffer;
/** Decode an ID_CRED_x value (already CBOR-decoded) into partial credentials */
export declare function decodeIdCred(value: unknown): EdhocCredentials;
/** Get the raw credential bytes (CRED_x) from credentials */
export declare function getCredBytes(credentials: EdhocCredentials): Buffer;
/** Encode PLAINTEXT_2/3: ID_CRED_x, Signature_or_MAC_x, ?EAD */
export declare function encodePlaintext(idCredCbor: Buffer, signatureOrMac: Buffer, ead?: EdhocEAD[]): Buffer;
/** Parse PLAINTEXT_2/3 into { idCredRaw, signatureOrMac, ead } */
export declare function parsePlaintext(data: Buffer): {
    idCredRaw: unknown;
    signatureOrMac: Buffer;
    ead: EdhocEAD[];
};
/** Encode EAD tokens as a CBOR sequence of (label, ?value) pairs */
export declare function encodeEadItems(tokens: EdhocEAD[]): Buffer;
/** Parse EAD items from decoded CBOR values */
export declare function parseEadItems(items: unknown[]): EdhocEAD[];
//# sourceMappingURL=cbor-utils.d.ts.map