import { Script, TransactionSegWit, AppointOracle, RemoveOracle, SetOracleData, UpdateOracle } from '@muirglacier/jellyfish-transaction';
import { P2WPKHTxnBuilder } from './txn_builder';
export declare class TxnBuilderOracles extends P2WPKHTxnBuilder {
    /**
     * Appoints an oracle. Currently requires Foundation Authorization.
     *
     * @param {AppointOracle} appointOracle txn to create
     * @param {Script} changeScript to send unspent to after deducting the (converted + fees)
     * @throws {TxnBuilderError} if 'appointOracle.weightage' is below `1` or over `100`
     * @returns {Promise<TransactionSegWit>}
     */
    appointOracle(appointOracle: AppointOracle, changeScript: Script): Promise<TransactionSegWit>;
    /**
     * Removes an oracle. Currently requires Foundation Authorization.
     *
     * @param {RemoveOracle} removeOracle txn to create
     * @param {Script} changeScript to send unspent to after deducting the (converted + fees)
     * @returns {Promise<TransactionSegWit>}
     */
    removeOracle(removeOracle: RemoveOracle, changeScript: Script): Promise<TransactionSegWit>;
    /**
     * Updates an oracle. Currently requires Foundation Authorization.
     *
     * @param {UpdateOracle} updateOracle txn to create
     * @param {Script} changeScript to send unspent to after deducting the (converted + fees)
     * @throws {TxnBuilderError} if 'updateOracle.weightage' is below `1` or over `100`
     * @returns {Promise<TransactionSegWit>}
     */
    updateOracle(updateOracle: UpdateOracle, changeScript: Script): Promise<TransactionSegWit>;
    /**
     * Sets data on an oracle. Currently requires Foundation Authorization.
     *
     * @param {SetOracleData} setOracleData txn to create
     * @param {Script} changeScript to send unspent to after deducting the (converted + fees)
     * @returns {Promise<TransactionSegWit>}
     */
    setOracleData(setOracleData: SetOracleData, changeScript: Script): Promise<TransactionSegWit>;
}
//# sourceMappingURL=txn_builder_oracles.d.ts.map