import { Buffer } from 'buffer';
import { Psbt } from '@btc-vision/bitcoin';
import { TransactionType } from '../enums/TransactionType.js';
import { IInteractionParameters } from '../interfaces/ITransactionParameters.js';
import { TransactionBuilder } from './TransactionBuilder.js';
import { ChallengeSolution } from '../../epoch/ChallengeSolution.js';
import { IP2WSHAddress } from '../mineable/IP2WSHAddress.js';
export declare class InteractionTransactionP2WDA extends TransactionBuilder<TransactionType.INTERACTION> {
    private static readonly MAX_WITNESS_FIELDS;
    private static readonly MAX_BYTES_PER_WITNESS;
    readonly type: TransactionType.INTERACTION;
    protected readonly epochChallenge: IP2WSHAddress;
    protected readonly disableAutoRefund: boolean;
    private readonly contractAddress;
    private readonly contractSecret;
    private readonly calldata;
    private readonly challenge;
    private readonly randomBytes;
    private p2wdaGenerator;
    private scriptSigner;
    private p2wdaInputIndices;
    private readonly compiledOperationData;
    constructor(parameters: IInteractionParameters);
    getRndBytes(): Buffer;
    getChallenge(): ChallengeSolution;
    getContractSecret(): Buffer;
    protected buildTransaction(): Promise<void>;
    protected createMineableRewardOutputs(): Promise<void>;
    protected signInputs(transaction: Psbt): Promise<void>;
    private generateFeatures;
    private generateKeyPairFromSeed;
    private scriptSignerXOnlyPubKey;
    private validateP2WDAInputs;
    private validateOperationDataSize;
    private finalizePrimaryP2WDA;
    private splitIntoWitnessChunks;
}
