import { type CompiledContractConfig, Contract, type ContractOptions, type ResultOfCall } from 'vasku';
import { type KeyPair, type ResultOfProcessMessage } from '@eversdk/core';
type onAcceptTokensTransferIn = {
    tokenRoot: string;
    amount: string | number | bigint;
    sender: string;
    senderWallet: string;
    remainingGasTo: string;
    payload: string;
};
type onBounceTokensTransferIn = {
    tokenRoot: string;
    amount: string | number | bigint;
    revertedFrom: string;
};
type onAcceptTokensMintIn = {
    tokenRoot: string;
    amount: string | number | bigint;
    remainingGasTo: string;
    payload: string;
};
type onAcceptTokensBurnIn = {
    amount: string | number | bigint;
    walletOwner: string;
    wallet: string;
    remainingGasTo: string;
    payload: string;
};
type onBounceTokensBurnIn = {
    tokenRoot: string;
    amount: string | number | bigint;
};
export declare class Callbacks extends Contract {
    private readonly _call;
    private readonly _run;
    private readonly _payload;
    constructor(config?: CompiledContractConfig, options?: ContractOptions);
    deploy(value: string | number | bigint, useGiver?: boolean, timeout?: number): Promise<ResultOfProcessMessage>;
    get call(): CallbacksCalls;
    get run(): CallbacksRuns;
    get payload(): CallbacksPayload;
}
declare class CallbacksCalls {
    private readonly contract;
    constructor(contract: Contract);
    onAcceptTokensTransfer(input: onAcceptTokensTransferIn, keys?: KeyPair): Promise<ResultOfCall>;
    onBounceTokensTransfer(input: onBounceTokensTransferIn, keys?: KeyPair): Promise<ResultOfCall>;
    onAcceptTokensMint(input: onAcceptTokensMintIn, keys?: KeyPair): Promise<ResultOfCall>;
    onAcceptTokensBurn(input: onAcceptTokensBurnIn, keys?: KeyPair): Promise<ResultOfCall>;
    onBounceTokensBurn(input: onBounceTokensBurnIn, keys?: KeyPair): Promise<ResultOfCall>;
}
declare class CallbacksRuns {
    private readonly contract;
    constructor(contract: Contract);
}
declare class CallbacksPayload {
    private readonly contract;
    constructor(contract: Contract);
    onAcceptTokensTransfer(input: onAcceptTokensTransferIn): Promise<string>;
    onBounceTokensTransfer(input: onBounceTokensTransferIn): Promise<string>;
    onAcceptTokensMint(input: onAcceptTokensMintIn): Promise<string>;
    onAcceptTokensBurn(input: onAcceptTokensBurnIn): Promise<string>;
    onBounceTokensBurn(input: onBounceTokensBurnIn): Promise<string>;
}
export {};
//# sourceMappingURL=Callbacks.d.ts.map