import { X402Extension } from "./extensions.js";
export type X402Core = {
    header: string;
    payload: Record<string, any>;
    [k: string]: any;
};
export declare function validateX402Core(x: any): X402Core;
export declare function buildCanonicalAad(namespace: string, payload: {
    request?: Record<string, any>;
    response?: Record<string, any>;
    x402?: X402Core;
}, extensions?: X402Extension[]): {
    aadBytes: Uint8Array;
    x402Normalized?: X402Core;
    requestNormalized?: Record<string, any>;
    responseNormalized?: Record<string, any>;
    extensionsNormalized?: X402Extension[];
};
export declare function canonicalAad(namespace: string, payload: {
    request?: Record<string, any>;
    response?: Record<string, any>;
    x402?: X402Core;
}, extensions?: X402Extension[]): Uint8Array;
export type PrivateHeaderEntry = {
    header: string;
    value: any;
    [k: string]: any;
};
export declare function canonicalizeCoreHeaderName(h: string): "X-Payment" | "X-Payment-Response" | "" | string;
export declare function buildCanonicalAadHeadersBody(namespace: string, privateHeaders?: PrivateHeaderEntry[] | undefined, privateBody?: Record<string, any> | undefined): {
    aadBytes: Uint8Array;
    headersNormalized: Array<{
        header: string;
        value: any;
        [k: string]: any;
    }>;
    bodyNormalized: Record<string, any>;
};
export declare function buildAadFromTransport(namespace: string, headers: Array<{
    header: string;
    value: any;
}>, body: Record<string, any>): {
    aadBytes: Uint8Array;
    headersNormalized: Array<{
        header: string;
        value: any;
    }>;
    bodyNormalized: Record<string, any>;
};
