import type { Provider, ProviderEffect } from "./Provider.js";
/**
 * Maestro provider for Cardano blockchain data access.
 * Supports mainnet and testnet networks with API key authentication.
 * Features cursor-based pagination and optional turbo submit for faster transaction processing.
 * Implements rate limiting to respect Maestro API limits.
 *
 * @since 2.0.0
 * @category constructors
 */
export declare class MaestroProvider implements Provider {
    private readonly baseUrl;
    private readonly apiKey;
    private readonly turboSubmit;
    readonly effect: ProviderEffect;
    constructor(baseUrl: string, apiKey: string, turboSubmit?: boolean);
    getProtocolParameters: () => Promise<import("./Provider.js").ProtocolParameters>;
    getUtxos: (addressOrCredential: Parameters<Provider["getUtxos"]>[0]) => Promise<import("../../UTxO.js").UTxO[]>;
    getUtxosWithUnit: (addressOrCredential: Parameters<Provider["getUtxosWithUnit"]>[0], unit: Parameters<Provider["getUtxosWithUnit"]>[1]) => Promise<import("../../UTxO.js").UTxO[]>;
    getUtxoByUnit: (unit: Parameters<Provider["getUtxoByUnit"]>[0]) => Promise<import("../../UTxO.js").UTxO>;
    getUtxosByOutRef: (outRefs: Parameters<Provider["getUtxosByOutRef"]>[0]) => Promise<import("../../UTxO.js").UTxO[]>;
    getDelegation: (rewardAddress: Parameters<Provider["getDelegation"]>[0]) => Promise<import("./Provider.js").Delegation>;
    getDatum: (datumHash: Parameters<Provider["getDatum"]>[0]) => Promise<import("../../Data.js").Data>;
    awaitTx: (txHash: Parameters<Provider["awaitTx"]>[0], checkInterval?: Parameters<Provider["awaitTx"]>[1], timeout?: Parameters<Provider["awaitTx"]>[2]) => Promise<boolean>;
    submitTx: (cbor: Parameters<Provider["submitTx"]>[0]) => Promise<import("../../TransactionHash.js").TransactionHash>;
    evaluateTx: (tx: Parameters<Provider["evaluateTx"]>[0], additionalUTxOs?: Parameters<Provider["evaluateTx"]>[1]) => Promise<import("../EvalRedeemer.js").EvalRedeemer[]>;
}
/**
 * Pre-configured Maestro provider for Cardano mainnet.
 *
 * @since 2.0.0
 * @category constructors
 */
export declare const mainnet: (apiKey: string, turboSubmit?: boolean) => MaestroProvider;
/**
 * Pre-configured Maestro provider for Cardano preprod testnet.
 *
 * @since 2.0.0
 * @category constructors
 */
export declare const preprod: (apiKey: string, turboSubmit?: boolean) => MaestroProvider;
/**
 * Pre-configured Maestro provider for Cardano preview testnet.
 *
 * @since 2.0.0
 * @category constructors
 */
export declare const preview: (apiKey: string, turboSubmit?: boolean) => MaestroProvider;
//# sourceMappingURL=Maestro.d.ts.map