import { Network } from '../../node_modules/@btc-vision/bitcoin/browser/index.js';
import { UTXO } from '../utxo/interfaces/IUTXO.js';
import { IP2WSHAddress } from '../transaction/mineable/IP2WSHAddress.js';
/**
 * P2WDA Detection and Validation Utilities
 */
export declare class P2WDADetector {
    /**
     * Check if a UTXO is a P2WDA output by examining its script structure
     */
    static isP2WDAUTXO(utxo: UTXO): boolean;
    /**
     * Check if a witness script follows the P2WDA pattern
     */
    static isP2WDAWitnessScript(witnessScript: Uint8Array): boolean;
    /**
     * Generate a P2WDA address from a public key
     */
    static generateP2WDAAddress(publicKey: Uint8Array, network: Network): IP2WSHAddress & {
        scriptPubKey: Uint8Array;
    };
    /**
     * Extract the public key from a P2WDA witness script
     */
    static extractPublicKeyFromP2WDA(witnessScript: Uint8Array): Uint8Array | null;
    /**
     * Create witness data for a simple P2WDA spend (no operation data)
     */
    static createSimpleP2WDAWitness(transactionSignature: Uint8Array, witnessScript: Uint8Array): Uint8Array[];
    /**
     * Validate P2WDA operation data signature
     */
    static validateP2WDASignature(_publicKey: Uint8Array, dataSignature: Uint8Array, _operationData: Uint8Array): boolean;
    /**
     * Calculate the witness size for P2WDA transaction estimation
     */
    static estimateP2WDAWitnessSize(dataSize?: number): number;
    /**
     * Check if a scriptPubKey is a P2WSH that could be P2WDA
     */
    static couldBeP2WDA(scriptPubKey: Uint8Array): boolean;
}
//# sourceMappingURL=P2WDADetector.d.ts.map