import { PsbtV2 } from "@ledgerhq/psbtv2";
import type { DerivationAccessors, DerivationElementType } from "./types";
/**
 * Returns accessors for BIP32 derivation operations based on element type.
 */
export declare function getDerivationAccessors(psbt: PsbtV2, type: DerivationElementType): DerivationAccessors;
/**
 * Generic method to check BIP32 derivation for either an input or output.
 */
export declare function checkElementBip32Derivation(accessors: DerivationAccessors, elementIndex: number, masterFp: Buffer): {
    belongsToSigner: boolean;
    accountPath: number[];
};
/**
 * Returns belongsToSigner: true because this function is only called after
 * a master fingerprint match against the connected signer (hardware wallet).
 * This is unrelated to the BIP44 "internal chain" (change = 1) concept.
 */
export declare function extractAccountPath(fullPath: number[]): {
    belongsToSigner: true;
    accountPath: number[];
};
export declare function checkBip32Derivation(psbt: PsbtV2, inputIndex: number, masterFp: Buffer): {
    belongsToSigner: boolean;
    accountPath: number[];
};
/**
 * Checks if an output has a valid BIP32 derivation with the correct master fingerprint.
 */
export declare function checkOutputBip32Derivation(psbt: PsbtV2, outputIndex: number, masterFp: Buffer): boolean;
//# sourceMappingURL=derivationAccessors.d.ts.map