export declare const ACTION_DIGEST_SPEC: "noa.action-digest/0.1";
export declare const ACTION_DIGEST_DOMAIN = "NOA-ActionDigest-v0.1-dig";
export interface ActionDigestProjection {
    readonly spec: typeof ACTION_DIGEST_SPEC;
    readonly authorizationReceiptHash: string;
    readonly tenant: string;
    readonly chain: string;
    readonly actionId: string;
    readonly actionCanonical: string;
    readonly actionParamsHash: string;
    readonly executionGrantId: string;
    readonly executionGrantHash: string;
    readonly executionNonce: string;
}
export type ActionDigestBuildResult = {
    readonly ok: true;
    readonly digest: string;
    readonly projection: ActionDigestProjection;
} | {
    readonly ok: false;
    readonly reason: string;
};
export type ActionDigestVerifyResult = {
    readonly ok: true;
    readonly digest: string;
    readonly projection: ActionDigestProjection;
    readonly classification: "ACTION_DIGEST_LINKAGE_MATCHED";
} | {
    readonly ok: false;
    readonly reason: string;
};
export interface ActionDigestContext {
    readonly chain: readonly unknown[];
    readonly grant: unknown;
    readonly keyring: unknown;
    readonly identityManifest?: unknown;
    readonly expect: {
        readonly tenant: string;
        readonly chain: string;
    };
}
export interface ActionDigestClaim {
    readonly spec: typeof ACTION_DIGEST_SPEC;
    readonly digest: string;
}
export declare function buildActionDigest(receiptBytes: Uint8Array | string, grantBytes: Uint8Array | string): ActionDigestBuildResult;
export declare function verifyActionDigest(claimBytes: Uint8Array | string, contextBytes: Uint8Array | string): ActionDigestVerifyResult;
