/**
 * Pool operations - stake pool registration and retirement.
 *
 * @module operations/Pool
 * @since 2.0.0
 */
import { Effect } from "effect";
import { FullProtocolParametersTag, TransactionBuilderError, type TxBuilderConfigTag, TxContext } from "../TransactionBuilder.js";
import type { RegisterPoolParams, RetirePoolParams } from "./Operations.js";
/**
 * Creates a ProgramStep for registerPool operation.
 * Adds a PoolRegistration certificate to the transaction.
 * Used for both new pool registration and updating existing pool parameters.
 *
 * @since 2.0.0
 * @category programs
 */
export declare const createRegisterPoolProgram: (params: RegisterPoolParams) => Effect.Effect<void, TransactionBuilderError, TxContext | TxBuilderConfigTag | FullProtocolParametersTag>;
/**
 * Creates a ProgramStep for retirePool operation.
 * Adds a PoolRetirement certificate to the transaction.
 * Announces pool retirement effective at the specified epoch.
 *
 * @since 2.0.0
 * @category programs
 */
export declare const createRetirePoolProgram: (params: RetirePoolParams) => Effect.Effect<void, never, TxContext>;
//# sourceMappingURL=Pool.d.ts.map