import { API, Signature, Checksum256, Name, PrivateKey, ActionType, AnyAction, Action, ABI, Checksum256Type } from '@wharfkit/antelope';
import { KeyManager, KeyManagerLevel } from '../../../storage/keymanager';
export interface Signer {
    sign(digest: Checksum256 | string): Promise<Signature>;
}
interface AntelopePushTransactionErrorConstructor {
    message: string;
    code: number;
    error: {
        code: number;
        name: string;
        what: string;
        details: [
            {
                message: string;
                file: string;
                line_number: number;
                method: string;
            }
        ];
    };
    actions?: ActionType[];
    contract?: Name;
}
export declare function createSigner(privateKey: PrivateKey): Signer;
export declare function createKeyManagerSigner(keyManager: KeyManager, level: KeyManagerLevel, challenge?: string): Signer;
export declare class AntelopePushTransactionError extends Error {
    code: number;
    message: string;
    error: {
        code: number;
        name: string;
        what: string;
        details: [
            {
                message: string;
                file: string;
                line_number: number;
                method: string;
            }
        ];
    };
    actions?: ActionType[];
    contract?: Name;
    constructor(err: AntelopePushTransactionErrorConstructor);
    hasErrorCode(code: number): boolean;
    hasTonomyErrorCode(code: string): boolean;
}
export type AnyActionType = ActionType | AnyAction;
export declare function toPrintableActions(actions: AnyActionType | AnyActionType[]): Promise<any[]>;
export declare function transact(actions: AnyActionType | AnyActionType[], signer: Signer | Signer[]): Promise<API.v1.PushTransactionResponse>;
type ActionWithABI = Action & {
    abi: ABI;
};
export declare function createActionWithAbi(action: AnyActionType): Promise<ActionWithABI>;
export declare function waitForTonomyTrxFinalization(transactionId: Checksum256Type, timeout?: number, interval?: number): Promise<API.v1.GetTransactionResponse>;
export {};
//# sourceMappingURL=transaction.d.ts.map