import { Effect } from "effect";
import * as CoreAddress from "../../../Address.js";
import * as Credential from "../../../Credential.js";
import * as PlutusData from "../../../Data.js";
import type * as DatumHash from "../../../DatumHash.js";
import * as PoolKeyHash from "../../../PoolKeyHash.js";
import type * as CoreRewardAddress from "../../../RewardAddress.js";
import * as Transaction from "../../../Transaction.js";
import * as TransactionHash from "../../../TransactionHash.js";
import type * as TransactionInput from "../../../TransactionInput.js";
import type * as CoreUTxO from "../../../UTxO.js";
import type * as EvalRedeemer from "../../EvalRedeemer.js";
import * as Provider from "../Provider.js";
export declare const getProtocolParameters: (baseUrl: string, token?: string) => Effect.Effect<{
    minFeeA: number;
    minFeeB: number;
    maxTxSize: number;
    maxValSize: number;
    keyDeposit: bigint;
    poolDeposit: bigint;
    drepDeposit: bigint;
    govActionDeposit: bigint;
    priceMem: number;
    priceStep: number;
    maxTxExMem: bigint;
    maxTxExSteps: bigint;
    coinsPerUtxoByte: bigint;
    collateralPercentage: number;
    maxCollateralInputs: number;
    minFeeRefScriptCostPerByte: number;
    costModels: {
        PlutusV1: {
            [k: string]: number;
        };
        PlutusV2: {
            [k: string]: number;
        };
        PlutusV3: {
            [k: string]: number;
        };
    };
}, Provider.ProviderError, never>;
export declare const getUtxos: (baseUrl: string, token?: string) => (addressOrCredential: CoreAddress.Address | Credential.Credential) => Effect.Effect<CoreUTxO.UTxO[], Provider.ProviderError, never>;
export declare const getUtxosWithUnit: (baseUrl: string, token?: string) => (addressOrCredential: CoreAddress.Address | Credential.Credential, unit: string) => Effect.Effect<CoreUTxO.UTxO[], Provider.ProviderError, never>;
export declare const getUtxoByUnit: (baseUrl: string, token?: string) => (unit: string) => Effect.Effect<CoreUTxO.UTxO, Provider.ProviderError, never>;
export declare const getUtxosByOutRef: (baseUrl: string, token?: string) => (inputs: ReadonlyArray<TransactionInput.TransactionInput>) => Effect.Effect<CoreUTxO.UTxO[], Provider.ProviderError, never>;
export declare const getDelegation: (baseUrl: string, token?: string) => (rewardAddress: CoreRewardAddress.RewardAddress) => Effect.Effect<{
    poolId: PoolKeyHash.PoolKeyHash | null;
    rewards: bigint;
}, Provider.ProviderError, never>;
export declare const getDatum: (baseUrl: string, token?: string) => (datumHash: DatumHash.DatumHash) => Effect.Effect<bigint | PlutusData.Constr | Map<PlutusData.Data, PlutusData.Data> | readonly PlutusData.Data[] | Uint8Array<ArrayBufferLike>, Provider.ProviderError, never>;
export declare const awaitTx: (baseUrl: string, token?: string) => (txHash: TransactionHash.TransactionHash, checkInterval?: number, timeout?: number) => Effect.Effect<boolean, Provider.ProviderError, never>;
export declare const submitTx: (baseUrl: string, token?: string) => (tx: Transaction.Transaction) => Effect.Effect<TransactionHash.TransactionHash, Provider.ProviderError, never>;
export declare const evaluateTx: (baseUrl: string, token?: string) => (tx: Transaction.Transaction, additionalUTxOs?: Array<CoreUTxO.UTxO>) => Effect.Effect<Array<EvalRedeemer.EvalRedeemer>, Provider.ProviderError>;
//# sourceMappingURL=KoiosEffect.d.ts.map