/**
 * Governance operations - DRep registration/update/deregistration and Constitutional Committee actions.
 *
 * @module operations/Governance
 * @since 2.0.0
 */
import { Effect } from "effect";
import { FullProtocolParametersTag, TransactionBuilderError, type TxBuilderConfigTag, TxContext } from "../TransactionBuilder.js";
import type { AuthCommitteeHotParams, DeregisterDRepParams, RegisterDRepParams, ResignCommitteeColdParams, UpdateDRepParams } from "./Operations.js";
/**
 * Creates a ProgramStep for registerDRep operation.
 * Adds a RegDrepCert certificate to the transaction.
 * Requires drepDeposit from protocol parameters.
 *
 * @since 2.0.0
 * @category programs
 */
export declare const createRegisterDRepProgram: (params: RegisterDRepParams) => Effect.Effect<void, TransactionBuilderError, TxContext | TxBuilderConfigTag | FullProtocolParametersTag>;
/**
 * Creates a ProgramStep for updateDRep operation.
 * Adds an UpdateDrepCert certificate to the transaction.
 *
 * @since 2.0.0
 * @category programs
 */
export declare const createUpdateDRepProgram: (params: UpdateDRepParams) => Effect.Effect<void, TransactionBuilderError, TxContext | TxBuilderConfigTag>;
/**
 * Creates a ProgramStep for deregisterDRep operation.
 * Adds an UnregDrepCert certificate to the transaction and reclaims the deposit.
 *
 * @since 2.0.0
 * @category programs
 */
export declare const createDeregisterDRepProgram: (params: DeregisterDRepParams) => Effect.Effect<void, TransactionBuilderError, TxContext | TxBuilderConfigTag | FullProtocolParametersTag>;
/**
 * Creates a ProgramStep for authCommitteeHot operation.
 * Adds an AuthCommitteeHotCert certificate to the transaction.
 * Authorizes a hot credential to act on behalf of a cold committee credential.
 *
 * @since 2.0.0
 * @category programs
 */
export declare const createAuthCommitteeHotProgram: (params: AuthCommitteeHotParams) => Effect.Effect<void, TransactionBuilderError, TxContext>;
/**
 * Creates a ProgramStep for resignCommitteeCold operation.
 * Adds a ResignCommitteeColdCert certificate to the transaction.
 * Submits resignation from constitutional committee membership.
 *
 * @since 2.0.0
 * @category programs
 */
export declare const createResignCommitteeColdProgram: (params: ResignCommitteeColdParams) => Effect.Effect<void, TransactionBuilderError, TxContext>;
//# sourceMappingURL=Governance.d.ts.map