import type { HttpBody, HttpClientError } from "@effect/platform";
import { Effect, Schema } from "effect";
import type { ParseError } from "effect/ParseResult";
import * as CoreUTxO from "../../../UTxO.js";
export declare const ProtocolParametersSchema: Schema.Struct<{
    pvt_motion_no_confidence: typeof Schema.Number;
    pvt_committee_normal: typeof Schema.Number;
    pvt_committee_no_confidence: typeof Schema.Number;
    pvt_hard_fork_initiation: typeof Schema.Number;
    pvtpp_security_group: typeof Schema.Number;
    dvt_motion_no_confidence: typeof Schema.Number;
    dvt_committee_normal: typeof Schema.Number;
    dvt_committee_no_confidence: typeof Schema.Number;
    dvt_update_to_constitution: typeof Schema.Number;
    dvt_hard_fork_initiation: typeof Schema.Number;
    dvt_p_p_network_group: typeof Schema.Number;
    dvt_p_p_economic_group: typeof Schema.Number;
    dvt_p_p_technical_group: typeof Schema.Number;
    dvt_p_p_gov_group: typeof Schema.Number;
    dvt_treasury_withdrawal: typeof Schema.Number;
    committee_min_size: typeof Schema.Number;
    committee_max_term_length: typeof Schema.Number;
    gov_action_lifetime: typeof Schema.Number;
    gov_action_deposit: typeof Schema.NumberFromString;
    drep_deposit: typeof Schema.NumberFromString;
    drep_activity: typeof Schema.Number;
    min_fee_ref_script_cost_per_byte: typeof Schema.Number;
    epoch_no: typeof Schema.Number;
    min_fee_a: typeof Schema.Number;
    min_fee_b: typeof Schema.Number;
    max_block_size: typeof Schema.Number;
    max_tx_size: typeof Schema.Number;
    max_bh_size: typeof Schema.Number;
    key_deposit: typeof Schema.BigInt;
    pool_deposit: typeof Schema.BigInt;
    max_epoch: typeof Schema.Number;
    optimal_pool_count: typeof Schema.Number;
    influence: typeof Schema.Number;
    monetary_expand_rate: typeof Schema.Number;
    treasury_growth_rate: typeof Schema.Number;
    decentralisation: typeof Schema.Number;
    extra_entropy: Schema.NullOr<typeof Schema.String>;
    protocol_major: typeof Schema.Number;
    protocol_minor: typeof Schema.Number;
    min_utxo_value: typeof Schema.String;
    min_pool_cost: typeof Schema.String;
    nonce: Schema.NullOr<typeof Schema.String>;
    block_hash: Schema.NullOr<typeof Schema.String>;
    cost_models: Schema.Struct<{
        PlutusV1: Schema.Array$<typeof Schema.Number>;
        PlutusV2: Schema.Array$<typeof Schema.Number>;
        PlutusV3: Schema.Array$<typeof Schema.Number>;
    }>;
    price_mem: typeof Schema.Number;
    price_step: typeof Schema.Number;
    max_tx_ex_mem: typeof Schema.BigIntFromNumber;
    max_tx_ex_steps: typeof Schema.BigIntFromNumber;
    max_block_ex_mem: typeof Schema.Number;
    max_block_ex_steps: typeof Schema.Number;
    max_val_size: typeof Schema.Number;
    collateral_percent: typeof Schema.Number;
    max_collateral_inputs: typeof Schema.Number;
    coins_per_utxo_size: typeof Schema.BigInt;
}>;
export interface ProtocolParameters extends Schema.Schema.Type<typeof ProtocolParametersSchema> {
}
export declare const AssetSchema: Schema.Struct<{
    policy_id: typeof Schema.String;
    asset_name: Schema.NullOr<typeof Schema.String>;
    fingerprint: typeof Schema.String;
    decimals: typeof Schema.Number;
    quantity: typeof Schema.String;
}>;
export interface Asset extends Schema.Schema.Type<typeof AssetSchema> {
}
declare const ReferenceScriptSchema: Schema.Struct<{
    hash: Schema.NullOr<typeof Schema.String>;
    size: Schema.NullOr<typeof Schema.Number>;
    type: Schema.NullOr<typeof Schema.String>;
    bytes: Schema.NullOr<typeof Schema.String>;
    value: typeof Schema.Unknown;
}>;
export interface ReferenceScript extends Schema.Schema.Type<typeof ReferenceScriptSchema> {
}
export declare const UTxOSchema: Schema.Struct<{
    tx_hash: typeof Schema.String;
    tx_index: typeof Schema.Number;
    block_time: typeof Schema.Number;
    block_height: Schema.NullOr<typeof Schema.Number>;
    value: typeof Schema.String;
    datum_hash: Schema.NullOr<typeof Schema.String>;
    inline_datum: Schema.NullOr<Schema.Struct<{
        bytes: Schema.NullOr<typeof Schema.String>;
        value: typeof Schema.Unknown;
    }>>;
    reference_script: Schema.NullOr<Schema.Struct<{
        hash: Schema.NullOr<typeof Schema.String>;
        size: Schema.NullOr<typeof Schema.Number>;
        type: Schema.NullOr<typeof Schema.String>;
        bytes: Schema.NullOr<typeof Schema.String>;
        value: typeof Schema.Unknown;
    }>>;
    asset_list: Schema.NullOr<Schema.Array$<Schema.Struct<{
        policy_id: typeof Schema.String;
        asset_name: Schema.NullOr<typeof Schema.String>;
        fingerprint: typeof Schema.String;
        decimals: typeof Schema.Number;
        quantity: typeof Schema.String;
    }>>>;
}>;
export interface UTxO extends Schema.Schema.Type<typeof UTxOSchema> {
}
export declare const AddressInfoSchema: Schema.Array$<Schema.NullishOr<Schema.Struct<{
    address: typeof Schema.String;
    balance: typeof Schema.String;
    stake_address: Schema.NullOr<typeof Schema.String>;
    script_address: typeof Schema.Boolean;
    utxo_set: Schema.Array$<Schema.Struct<{
        tx_hash: typeof Schema.String;
        tx_index: typeof Schema.Number;
        block_time: typeof Schema.Number;
        block_height: Schema.NullOr<typeof Schema.Number>;
        value: typeof Schema.String;
        datum_hash: Schema.NullOr<typeof Schema.String>;
        inline_datum: Schema.NullOr<Schema.Struct<{
            bytes: Schema.NullOr<typeof Schema.String>;
            value: typeof Schema.Unknown;
        }>>;
        reference_script: Schema.NullOr<Schema.Struct<{
            hash: Schema.NullOr<typeof Schema.String>;
            size: Schema.NullOr<typeof Schema.Number>;
            type: Schema.NullOr<typeof Schema.String>;
            bytes: Schema.NullOr<typeof Schema.String>;
            value: typeof Schema.Unknown;
        }>>;
        asset_list: Schema.NullOr<Schema.Array$<Schema.Struct<{
            policy_id: typeof Schema.String;
            asset_name: Schema.NullOr<typeof Schema.String>;
            fingerprint: typeof Schema.String;
            decimals: typeof Schema.Number;
            quantity: typeof Schema.String;
        }>>>;
    }>>;
}>>>;
export interface AddressInfo extends Schema.Schema.Type<typeof AddressInfoSchema> {
}
export declare const InputOutputSchema: Schema.Struct<{
    payment_addr: Schema.Struct<{
        bech32: typeof Schema.String;
        cred: typeof Schema.String;
    }>;
    stake_addr: Schema.NullOr<typeof Schema.String>;
    tx_hash: typeof Schema.String;
    tx_index: typeof Schema.Number;
    value: typeof Schema.String;
    datum_hash: Schema.NullOr<typeof Schema.String>;
    inline_datum: Schema.NullOr<Schema.Struct<{
        bytes: Schema.NullOr<typeof Schema.String>;
        value: typeof Schema.Unknown;
    }>>;
    reference_script: Schema.NullOr<Schema.Struct<{
        hash: Schema.NullOr<typeof Schema.String>;
        size: Schema.NullOr<typeof Schema.Number>;
        type: Schema.NullOr<typeof Schema.String>;
        bytes: Schema.NullOr<typeof Schema.String>;
        value: typeof Schema.Unknown;
    }>>;
    asset_list: Schema.Union<[Schema.NullOr<Schema.Array$<Schema.Struct<{
        policy_id: typeof Schema.String;
        asset_name: Schema.NullOr<typeof Schema.String>;
        fingerprint: typeof Schema.String;
        decimals: typeof Schema.Number;
        quantity: typeof Schema.String;
    }>>>, Schema.transform<typeof Schema.String, typeof Schema.Null>]>;
}>;
export interface InputOutput extends Schema.Schema.Type<typeof InputOutputSchema> {
}
export declare const TxInfoSchema: Schema.Struct<{
    tx_hash: typeof Schema.String;
    block_hash: typeof Schema.String;
    block_height: typeof Schema.Number;
    epoch_no: typeof Schema.Number;
    epoch_slot: typeof Schema.Number;
    absolute_slot: typeof Schema.Number;
    tx_timestamp: typeof Schema.Number;
    tx_block_index: typeof Schema.Number;
    tx_size: typeof Schema.Number;
    total_output: typeof Schema.String;
    fee: typeof Schema.String;
    treasury_donation: typeof Schema.String;
    deposit: typeof Schema.String;
    invalid_before: Schema.NullOr<typeof Schema.String>;
    invalid_after: Schema.NullOr<typeof Schema.String>;
    collateral_inputs: Schema.NullOr<Schema.Array$<Schema.Struct<{
        payment_addr: Schema.Struct<{
            bech32: typeof Schema.String;
            cred: typeof Schema.String;
        }>;
        stake_addr: Schema.NullOr<typeof Schema.String>;
        tx_hash: typeof Schema.String;
        tx_index: typeof Schema.Number;
        value: typeof Schema.String;
        datum_hash: Schema.NullOr<typeof Schema.String>;
        inline_datum: Schema.NullOr<Schema.Struct<{
            bytes: Schema.NullOr<typeof Schema.String>;
            value: typeof Schema.Unknown;
        }>>;
        reference_script: Schema.NullOr<Schema.Struct<{
            hash: Schema.NullOr<typeof Schema.String>;
            size: Schema.NullOr<typeof Schema.Number>;
            type: Schema.NullOr<typeof Schema.String>;
            bytes: Schema.NullOr<typeof Schema.String>;
            value: typeof Schema.Unknown;
        }>>;
        asset_list: Schema.Union<[Schema.NullOr<Schema.Array$<Schema.Struct<{
            policy_id: typeof Schema.String;
            asset_name: Schema.NullOr<typeof Schema.String>;
            fingerprint: typeof Schema.String;
            decimals: typeof Schema.Number;
            quantity: typeof Schema.String;
        }>>>, Schema.transform<typeof Schema.String, typeof Schema.Null>]>;
    }>>>;
    collateral_output: Schema.NullOr<Schema.Struct<{
        payment_addr: Schema.Struct<{
            bech32: typeof Schema.String;
            cred: typeof Schema.String;
        }>;
        stake_addr: Schema.NullOr<typeof Schema.String>;
        tx_hash: typeof Schema.String;
        tx_index: typeof Schema.Number;
        value: typeof Schema.String;
        datum_hash: Schema.NullOr<typeof Schema.String>;
        inline_datum: Schema.NullOr<Schema.Struct<{
            bytes: Schema.NullOr<typeof Schema.String>;
            value: typeof Schema.Unknown;
        }>>;
        reference_script: Schema.NullOr<Schema.Struct<{
            hash: Schema.NullOr<typeof Schema.String>;
            size: Schema.NullOr<typeof Schema.Number>;
            type: Schema.NullOr<typeof Schema.String>;
            bytes: Schema.NullOr<typeof Schema.String>;
            value: typeof Schema.Unknown;
        }>>;
        asset_list: Schema.Union<[Schema.NullOr<Schema.Array$<Schema.Struct<{
            policy_id: typeof Schema.String;
            asset_name: Schema.NullOr<typeof Schema.String>;
            fingerprint: typeof Schema.String;
            decimals: typeof Schema.Number;
            quantity: typeof Schema.String;
        }>>>, Schema.transform<typeof Schema.String, typeof Schema.Null>]>;
    }>>;
    reference_inputs: Schema.NullOr<Schema.Array$<Schema.Struct<{
        payment_addr: Schema.Struct<{
            bech32: typeof Schema.String;
            cred: typeof Schema.String;
        }>;
        stake_addr: Schema.NullOr<typeof Schema.String>;
        tx_hash: typeof Schema.String;
        tx_index: typeof Schema.Number;
        value: typeof Schema.String;
        datum_hash: Schema.NullOr<typeof Schema.String>;
        inline_datum: Schema.NullOr<Schema.Struct<{
            bytes: Schema.NullOr<typeof Schema.String>;
            value: typeof Schema.Unknown;
        }>>;
        reference_script: Schema.NullOr<Schema.Struct<{
            hash: Schema.NullOr<typeof Schema.String>;
            size: Schema.NullOr<typeof Schema.Number>;
            type: Schema.NullOr<typeof Schema.String>;
            bytes: Schema.NullOr<typeof Schema.String>;
            value: typeof Schema.Unknown;
        }>>;
        asset_list: Schema.Union<[Schema.NullOr<Schema.Array$<Schema.Struct<{
            policy_id: typeof Schema.String;
            asset_name: Schema.NullOr<typeof Schema.String>;
            fingerprint: typeof Schema.String;
            decimals: typeof Schema.Number;
            quantity: typeof Schema.String;
        }>>>, Schema.transform<typeof Schema.String, typeof Schema.Null>]>;
    }>>>;
    inputs: Schema.Array$<Schema.Struct<{
        payment_addr: Schema.Struct<{
            bech32: typeof Schema.String;
            cred: typeof Schema.String;
        }>;
        stake_addr: Schema.NullOr<typeof Schema.String>;
        tx_hash: typeof Schema.String;
        tx_index: typeof Schema.Number;
        value: typeof Schema.String;
        datum_hash: Schema.NullOr<typeof Schema.String>;
        inline_datum: Schema.NullOr<Schema.Struct<{
            bytes: Schema.NullOr<typeof Schema.String>;
            value: typeof Schema.Unknown;
        }>>;
        reference_script: Schema.NullOr<Schema.Struct<{
            hash: Schema.NullOr<typeof Schema.String>;
            size: Schema.NullOr<typeof Schema.Number>;
            type: Schema.NullOr<typeof Schema.String>;
            bytes: Schema.NullOr<typeof Schema.String>;
            value: typeof Schema.Unknown;
        }>>;
        asset_list: Schema.Union<[Schema.NullOr<Schema.Array$<Schema.Struct<{
            policy_id: typeof Schema.String;
            asset_name: Schema.NullOr<typeof Schema.String>;
            fingerprint: typeof Schema.String;
            decimals: typeof Schema.Number;
            quantity: typeof Schema.String;
        }>>>, Schema.transform<typeof Schema.String, typeof Schema.Null>]>;
    }>>;
    outputs: Schema.Array$<Schema.Struct<{
        payment_addr: Schema.Struct<{
            bech32: typeof Schema.String;
            cred: typeof Schema.String;
        }>;
        stake_addr: Schema.NullOr<typeof Schema.String>;
        tx_hash: typeof Schema.String;
        tx_index: typeof Schema.Number;
        value: typeof Schema.String;
        datum_hash: Schema.NullOr<typeof Schema.String>;
        inline_datum: Schema.NullOr<Schema.Struct<{
            bytes: Schema.NullOr<typeof Schema.String>;
            value: typeof Schema.Unknown;
        }>>;
        reference_script: Schema.NullOr<Schema.Struct<{
            hash: Schema.NullOr<typeof Schema.String>;
            size: Schema.NullOr<typeof Schema.Number>;
            type: Schema.NullOr<typeof Schema.String>;
            bytes: Schema.NullOr<typeof Schema.String>;
            value: typeof Schema.Unknown;
        }>>;
        asset_list: Schema.Union<[Schema.NullOr<Schema.Array$<Schema.Struct<{
            policy_id: typeof Schema.String;
            asset_name: Schema.NullOr<typeof Schema.String>;
            fingerprint: typeof Schema.String;
            decimals: typeof Schema.Number;
            quantity: typeof Schema.String;
        }>>>, Schema.transform<typeof Schema.String, typeof Schema.Null>]>;
    }>>;
    withdrawals: Schema.NullOr<Schema.Array$<Schema.Struct<{
        amount: typeof Schema.String;
        stake_addr: typeof Schema.String;
    }>>>;
    assets_minted: Schema.NullOr<Schema.Array$<Schema.Struct<{
        policy_id: typeof Schema.String;
        asset_name: Schema.NullOr<typeof Schema.String>;
        fingerprint: typeof Schema.String;
        decimals: typeof Schema.Number;
        quantity: typeof Schema.String;
    }>>>;
    metadata: Schema.NullOr<typeof Schema.Object>;
    certificates: Schema.NullOr<Schema.Array$<Schema.Struct<{
        index: typeof Schema.Number;
        type: typeof Schema.String;
        info: Schema.NullOr<typeof Schema.Object>;
    }>>>;
    native_scripts: Schema.NullOr<Schema.Array$<Schema.Struct<{
        script_hash: typeof Schema.String;
        script_json: typeof Schema.Object;
    }>>>;
    plutus_contracts: Schema.NullOr<Schema.Array$<Schema.Struct<{
        address: typeof Schema.String;
        spends_input: Schema.NullOr<Schema.Struct<{
            tx_hash: typeof Schema.String;
            tx_index: typeof Schema.Number;
        }>>;
        script_hash: typeof Schema.String;
        bytecode: typeof Schema.String;
        size: typeof Schema.Number;
        valid_contract: typeof Schema.Boolean;
        input: Schema.Struct<{
            redeemer: Schema.Struct<{
                purpose: Schema.Literal<["spend", "mint", "cert", "reward"]>;
                fee: typeof Schema.String;
                unit: Schema.Struct<{
                    steps: typeof Schema.String;
                    mem: typeof Schema.String;
                }>;
                datum: Schema.Struct<{
                    hash: Schema.NullOr<typeof Schema.String>;
                    value: Schema.NullOr<typeof Schema.Object>;
                }>;
            }>;
            datum: Schema.Struct<{
                hash: Schema.NullOr<typeof Schema.String>;
                value: Schema.NullOr<typeof Schema.Object>;
            }>;
        }>;
    }>>>;
    voting_procedures: Schema.Array$<typeof Schema.Object>;
    proposal_procedures: Schema.Array$<typeof Schema.Object>;
}>;
export interface TxInfo extends Schema.Schema.Type<typeof TxInfoSchema> {
}
export declare const TxHashSchema: typeof Schema.String;
export declare const AssetAddressSchema: Schema.Struct<{
    payment_address: typeof Schema.String;
    stake_address: Schema.NullOr<typeof Schema.String>;
    quantity: typeof Schema.String;
}>;
export interface AssetAddress extends Schema.Schema.Type<typeof AssetAddressSchema> {
}
export declare const AccountInfoSchema: Schema.Struct<{
    delegated_pool: Schema.NullOr<typeof Schema.String>;
    rewards_available: typeof Schema.NumberFromString;
}>;
export declare const DatumInfo: Schema.Struct<{
    bytes: typeof Schema.String;
}>;
export declare const getHeadersWithToken: (token?: string, headers?: Record<string, string>) => Record<string, string>;
export declare const toUTxO: (koiosUTxO: UTxO, addressStr: string) => CoreUTxO.UTxO;
export declare const CredentialUTxOSchema: Schema.Struct<{
    tx_hash: typeof Schema.String;
    tx_index: typeof Schema.Number;
    address: typeof Schema.String;
    value: typeof Schema.String;
    datum_hash: Schema.NullOr<typeof Schema.String>;
    inline_datum: Schema.NullOr<Schema.Struct<{
        bytes: Schema.NullOr<typeof Schema.String>;
        value: typeof Schema.Unknown;
    }>>;
    reference_script: Schema.NullOr<Schema.Struct<{
        hash: Schema.NullOr<typeof Schema.String>;
        size: Schema.NullOr<typeof Schema.Number>;
        type: Schema.NullOr<typeof Schema.String>;
        bytes: Schema.NullOr<typeof Schema.String>;
        value: typeof Schema.Unknown;
    }>>;
    asset_list: Schema.NullOr<Schema.Array$<Schema.Struct<{
        policy_id: typeof Schema.String;
        asset_name: Schema.NullOr<typeof Schema.String>;
        fingerprint: typeof Schema.String;
        decimals: typeof Schema.Number;
        quantity: typeof Schema.String;
    }>>>;
}>;
export declare const getUtxosEffect: (baseUrl: string, address: string, headers: Record<string, string> | undefined) => Effect.Effect<Array<CoreUTxO.UTxO>, string | HttpBody.HttpBodyError | HttpClientError.HttpClientError | ParseError, never>;
export declare const getCredentialUtxosEffect: (baseUrl: string, credentialHash: string, headers: Record<string, string> | undefined) => Effect.Effect<Array<CoreUTxO.UTxO>, string | HttpBody.HttpBodyError | HttpClientError.HttpClientError | ParseError, never>;
export {};
//# sourceMappingURL=Koios.d.ts.map