import type { Hash } from '@ariestools/sdk';
import type { Payload, WithHashMeta, XyoAddress } from '@xyo-network/sdk';
import type { AllowedBlockPayload, AttoXL1, ConfirmSubmittedTransactionOptions, DataLakeRunner, HydratedTransactionWithHashMeta, SignedHydratedTransaction, SignedHydratedTransactionWithHashMeta, TransactionOptions, UnsignedHydratedTransaction, XyoConnection, XyoGatewayRunner, XyoSigner } from '@xyo-network/xl1-protocol/protocol-lib';
import type { CreatableProviderParams } from '../../CreatableProvider/index.js';
import { AbstractCreatableProvider } from '../../CreatableProvider/index.js';
/** Parameters for SimpleXyoGatewayRunner. */
export interface SimpleXyoGatewayRunnerParams extends CreatableProviderParams {
}
/** SimpleXyoGatewayRunner implementation. */
export declare class SimpleXyoGatewayRunner extends AbstractCreatableProvider<SimpleXyoGatewayRunnerParams> implements XyoGatewayRunner {
    /** Connection kinds supported by this provider. */
    static readonly connectionTypes: readonly ["none"];
    /** Primary moniker used to resolve this provider. */
    static readonly defaultMoniker: "XyoGatewayRunner";
    /** Provider monikers that must resolve before this provider can be created. */
    static readonly dependencies: ("XyoConnection" | "XyoSigner")[];
    /** Provider monikers implemented by this provider class. */
    static readonly monikers: ("XyoGateway" | "XyoGatewayRunner")[];
    /** Moniker implemented by this provider instance. */
    moniker: "XyoGatewayRunner";
    private _connection;
    private _dataLakeRunner?;
    private _signer;
    /** Returns the connection result exposed by this provider. */
    get connection(): XyoConnection;
    /** Returns the data lake runner result exposed by this provider. */
    get dataLakeRunner(): DataLakeRunner | undefined;
    /** Returns the signer result exposed by this provider. */
    get signer(): XyoSigner;
    /** Adds payloads to chain through the backing provider. */
    addPayloadsToChain(onChain: AllowedBlockPayload[], offChain: Payload[], options?: TransactionOptions): Promise<[Hash, SignedHydratedTransactionWithHashMeta]>;
    /** Adds transaction to chain through the backing provider. */
    addTransactionToChain(tx: UnsignedHydratedTransaction | SignedHydratedTransaction, offChain?: WithHashMeta<Payload>[]): Promise<[Hash, SignedHydratedTransactionWithHashMeta]>;
    /** Returns the confirm submitted transaction result exposed by this provider. */
    confirmSubmittedTransaction(txHash: Hash, options?: ConfirmSubmittedTransactionOptions): Promise<SignedHydratedTransaction>;
    /** Creates the provider instance after its dependencies and configuration have resolved. */
    createHandler(): Promise<void>;
    /** Submits the send operation to its backing provider. */
    send(to: XyoAddress, amount: AttoXL1, options?: TransactionOptions): Promise<Hash>;
    /** Submits the send many operation to its backing provider. */
    sendMany(transfers: Record<XyoAddress, AttoXL1>, options?: TransactionOptions): Promise<Hash>;
    /** Returns the transaction required gas result exposed by this provider. */
    transactionRequiredGas(hydratedTransaction: HydratedTransactionWithHashMeta): AttoXL1;
}
//# sourceMappingURL=SimpleXyoGatewayRunner.d.ts.map