import { CreateCfp, CreateVoc, Script, TransactionSegWit, Vote, SetGovernance, SetGovernanceHeight } from '@muirglacier/jellyfish-transaction';
import { P2WPKHTxnBuilder } from './txn_builder';
export declare class TxnBuilderGovernance extends P2WPKHTxnBuilder {
    /**
     * Creates a Community fund proposal.
     *
     * @param {CreateCfp} createCfp txn to create
     * @param {Script} changeScript to send unspent to after deducting the (converted + fees)
     * @returns {Promise<TransactionSegWit>}
     */
    createCfp(createCfp: CreateCfp, changeScript: Script): Promise<TransactionSegWit>;
    /**
     * Creates a vote of confidence.
     *
     * @param {CreateVoc} createVoc txn to create
     * @param {Script} changeScript to send unspent to after deducting the (converted + fees)
     * @returns {Promise<TransactionSegWit>}
     */
    createVoc(createVoc: CreateVoc, changeScript: Script): Promise<TransactionSegWit>;
    /**
     * Vote on a community proposal.
     *
     * @param {Vote} vote txn to create
     * @param {Script} changeScript to send unspent to after deducting the (converted + fees)
     * @returns {Promise<TransactionSegWit>}
     */
    vote(vote: Vote, changeScript: Script): Promise<TransactionSegWit>;
    /**
     * Set governance variable.
     *
     * @param {SetGovernance} setGov txn to create
     * @param {Script} changeScript to send unspent to after deducting the fee
     * @returns {Promise<TransactionSegWit>}
     */
    setGoverance(setGov: SetGovernance, changeScript: Script): Promise<TransactionSegWit>;
    /**
     * Set governance variable with activation height.
     *
     * @param {SetGovernanceHeight} setGovHeight txn to create
     * @param {Script} changeScript to send unspent to after deducting the fee
     * @returns {Promise<TransactionSegWit>}
     */
    setGoveranceHeight(setGovHeight: SetGovernanceHeight, changeScript: Script): Promise<TransactionSegWit>;
}
//# sourceMappingURL=txn_builder_governance.d.ts.map