import { components } from '@blockfrost/openapi';
import { BlockFrostAPI } from '../../../index';
/**
 * Obtains a specific transaction
 * @see {@link https://docs.blockfrost.io/#tag/Cardano-Transactions/paths/~1txs~1%7Bhash%7D/get | API docs for Transaction}
 *
 * @param hash - Transaction hash
 * @returns Transaction
 *
 */
export declare function txs(this: BlockFrostAPI, hash: string): Promise<components['schemas']['tx_content']>;
/**
 * Obtains the inputs and outputs of the specific transaction.
 * @see {@link https://docs.blockfrost.io/#tag/Cardano-Transactions/paths/~1txs~1%7Bhash%7D~1utxos/get | API docs for Transaction UTXOs}
 *
 * @param hash - Transaction hash
 * @returns Transaction inputs and outputs
 *
 */
export declare function txsUtxos(this: BlockFrostAPI, hash: string): Promise<components['schemas']['tx_content_utxo']>;
/**
 * Obtains information about (de)registration of stake addresses within a transaction.
 * @see {@link https://docs.blockfrost.io/#tag/Cardano-Transactions/paths/~1txs~1%7Bhash%7D~1stakes/get | API docs for Transaction stake addresses certificates}
 *
 * @param hash - Transaction hash
 * @returns List of (de)registration certificates within the transaction
 *
 */
export declare function txsStakes(this: BlockFrostAPI, hash: string): Promise<components['schemas']['tx_content_stake_addr']>;
/**
 * Obtains information about delegation certificates of a specific transaction.
 * @see {@link https://docs.blockfrost.io/#tag/Cardano-Transactions/paths/~1txs~1%7Bhash%7D~1delegations/get | API docs for Transaction stake addresses certificates}
 *
 * @param hash - Transaction hash
 * @returns List of delegation certificates within the transaction
 *
 */
export declare function txsDelegations(this: BlockFrostAPI, hash: string): Promise<components['schemas']['tx_content_delegations']>;
/**
 * Obtains information about withdrawals within a specific transaction.
 * @see {@link https://docs.blockfrost.io/#tag/Cardano-Transactions/paths/~1txs~1%7Bhash%7D~1withdrawals/get | API docs for Transaction withdrawal}
 *
 * @param hash - Transaction hash
 * @returns List of withdrawals within the transaction
 *
 */
export declare function txsWithdrawals(this: BlockFrostAPI, hash: string): Promise<components['schemas']['tx_content_withdrawals']>;
/**
 * Obtains information about Move Instantaneous Rewards (MIRs) of a specific transaction.
 * @see {@link https://docs.blockfrost.io/#tag/Cardano-Transactions/paths/~1txs~1%7Bhash%7D~1mirs/get | API docs for Transaction MIRs}
 *
 * @param hash - Transaction hash
 * @returns List of Move Instantaneous Rewards (MIRs) within the transaction
 *
 */
export declare function txsMirs(this: BlockFrostAPI, hash: string): Promise<components['schemas']['tx_content_mirs']>;
/**
 * Obtains information about stake pool registration and update certificates of a specific transaction.
 * @see {@link https://docs.blockfrost.io/#tag/Cardano-Transactions/paths/~1txs~1%7Bhash%7D~1pool_updates/get | API docs for Transaction stake pool registration and update certificates}
 *
 * @param hash - Transaction hash
 * @returns List of stake pool registration and update certificates within a specific transaction
 *
 */
export declare function txsPoolUpdates(this: BlockFrostAPI, hash: string): Promise<components['schemas']['tx_content_pool_certs']>;
/**
 * Obtains information about stake pool retirements within a specific transaction.
 * @see {@link https://docs.blockfrost.io/#tag/Cardano-Transactions/paths/~1txs~1%7Bhash%7D~1pool_retires/get | API docs for Transaction stake pool retirement certificates}
 *
 * @param hash - Transaction hash
 * @returns List of stake pool retirement certificates
 *
 */
export declare function txsPoolRetires(this: BlockFrostAPI, hash: string): Promise<components['schemas']['tx_content_pool_retires']>;
/**
 * Obtains transaction metadata in JSON format.
 * @see {@link https://docs.blockfrost.io/#tag/Cardano-Transactions/paths/~1txs~1%7Bhash%7D~1metadata/get | API docs for Transaction metadata}
 *
 * @param hash - Transaction hash
 * @returns Transaction metadata in JSON
 *
 */
export declare function txsMetadata(this: BlockFrostAPI, hash: string): Promise<components['schemas']['tx_content_metadata']>;
/**
 * Obtains transaction metadata in CBOR format.
 * @see {@link https://docs.blockfrost.io/#tag/Cardano-Transactions/paths/~1txs~1%7Bhash%7D~1metadata~1cbor/get | API docs for Transaction metadata in CBOR}
 *
 * @param hash - Transaction hash
 * @returns Transaction metadata in CBOR
 *
 */
export declare function txsMetadataCbor(this: BlockFrostAPI, hash: string): Promise<components['schemas']['tx_content_metadata_cbor']>;
/**
 * Obtains transaction redeemers.
 * @see {@link https://docs.blockfrost.io/#tag/Cardano-Transactions/paths/~1txs~1%7Bhash%7D~1redeemers/get | API docs for Transaction redeemers}
 *
 * @param hash - Transaction hash
 * @returns Transaction redeemers
 *
 */
export declare function txsRedeemers(this: BlockFrostAPI, hash: string): Promise<components['schemas']['tx_content_redeemers']>;
/**
 * Obtains extra transaction witnesses.
 * @see {@link https://docs.blockfrost.io/#tag/Cardano-Transactions/paths/~1txs~1%7Bhash%7D~required_signers/get | API docs for Transaction redeemers}
 *
 * @param hash - Transaction hash
 * @returns Extra transaction witnesses
 *
 */
export declare function txsRequiredSigners(this: BlockFrostAPI, hash: string): Promise<components['schemas']['tx_content_required_signers']>;
/**
 * Obtains Obtain the CBOR serialized transaction.
 * @see {@link https://docs.blockfrost.io/#tag/Cardano-Transactions/paths/~1txs~1%7Bhash%7D~cbor/get | API docs for Transaction CBOR}
 *
 * @param hash - Transaction hash
 * @returns Transaction CBOR
 *
 */
export declare function txsCbor(this: BlockFrostAPI, hash: string): Promise<components['schemas']['tx_content_cbor']>;
/**
 * Submits a transaction to the network.
 * @see {@link https://docs.blockfrost.io/#tag/Cardano-Transactions/paths/~1tx~1submit/post | API docs for Transaction submit}
 *
 * @param transaction - Transaction bytes as Uint8Array or hex-encoded string
 * @returns ID of the submitted transaction
 *
 */
export declare function txSubmit(this: BlockFrostAPI, transaction: Uint8Array | string): Promise<string>;
