/// <reference types="node" />
import TransactionBuilder from "./transaction_builder.js";
import { AbsintheSocket } from "@absinthe/socket";
import Archethic from "./index.js";
export default class TransactionSender {
    onSent: Function[];
    onConfirmation: Function[];
    onFullConfirmation: Function[];
    onRequiredConfirmation: Function[];
    onError: Function[];
    onTimeout: Function[];
    confirmationNotifier: any;
    errorNotifier: any;
    absintheSocket: AbsintheSocket | undefined;
    nbConfirmationReceived: number;
    timeout: NodeJS.Timeout | undefined;
    core: Archethic;
    constructor(archethic: Archethic);
    on(event: string, func: Function): this;
    send(tx: TransactionBuilder, endpoint: string, confirmationThreshold?: number, timeout?: number): Promise<this>;
    unsubscribe(event?: string | undefined): void;
}
