/**
 * Propose operation - submit governance action proposals.
 *
 * @module operations/Propose
 * @since 2.0.0
 */
import { Effect } from "effect";
import { FullProtocolParametersTag, TransactionBuilderError, type TxBuilderConfigTag, TxContext } from "../TransactionBuilder.js";
import type { ProposeParams } from "./Operations.js";
/**
 * Creates a ProgramStep for propose operation.
 * Fetches govActionDeposit from protocol parameters and constructs ProposalProcedure.
 *
 * Implementation:
 * 1. Fetches govActionDeposit from protocol parameters (like registerStake)
 * 2. Constructs ProposalProcedure with the fetched deposit
 * 3. Merges with existing proposal procedures if any
 * 4. No redeemers needed - proposing is not script-controlled
 *
 * Note: The deposit is deducted from transaction inputs during balancing.
 *
 * @since 2.0.0
 * @category programs
 */
export declare const createProposeProgram: (params: ProposeParams) => Effect.Effect<void, TransactionBuilderError, TxContext | TxBuilderConfigTag | FullProtocolParametersTag>;
//# sourceMappingURL=Propose.d.ts.map