import { MessageTypeProperty } from "@metamask/eth-sig-util";
import { BatchMultiSigCallTypedData } from "../../..";
import { BatchMultiSigCall } from "../..";
import { Call as CallClass } from "../../classes";
import { CallIdBase } from "./CallIdBase";
import { EIP712Base } from "./EIP712Base";
import { SessionIdBase } from "./SessionIdBase";
import { UtilsBase } from "./UtilsBase";
export declare const EIP712Domain: MessageTypeProperty[];
export declare const Meta: MessageTypeProperty[];
export declare const Engine: MessageTypeProperty[];
export declare const Limits: MessageTypeProperty[];
export declare const Computed: MessageTypeProperty[];
export declare const Call: MessageTypeProperty[];
export declare const Recurrency: MessageTypeProperty[];
export declare const Multisig: MessageTypeProperty[];
export declare const Validation: MessageTypeProperty[];
export declare abstract class VersionBase {
    FCT: BatchMultiSigCall | undefined;
    constructor(FCT?: BatchMultiSigCall);
    EIP712Domain: MessageTypeProperty[];
    Meta: MessageTypeProperty[];
    Engine: MessageTypeProperty[];
    Limits: MessageTypeProperty[];
    Computed: MessageTypeProperty[];
    Call: MessageTypeProperty[];
    Recurrency: MessageTypeProperty[];
    Multisig: MessageTypeProperty[];
    Validation: MessageTypeProperty[];
    abstract batchMultiSigSelector: string;
    abstract SessionId: SessionIdBase;
    abstract CallId: CallIdBase;
    abstract EIP712: EIP712Base;
    abstract Utils: UtilsBase;
    getMetaMessage(FCT: BatchMultiSigCall): Record<string, any>;
    getEngineMessage(FCT: BatchMultiSigCall): Record<string, any>;
    getLimitsMessage(FCT: BatchMultiSigCall): Record<string, any>;
    exportFCT(): {
        typedData: BatchMultiSigCallTypedData;
        typeHash: string;
        sessionId: string;
        nameHash: string;
        appHash: string;
        appVersionHash: string;
        builderHash: string;
        builderAddress: string;
        domainHash: string;
        verifierHash: string;
        mcall: import("../../..").MSCall[];
        externalSigners: string[];
        signatures: import("@ethersproject/bytes").SignatureLike[];
        computed: import("../../classes/Variables/types").IComputedData[];
        validations: import("../../classes/Validation/types").IValidationData[];
        variables: never[];
    };
    getCallAsMcall(call: CallClass, typedData: BatchMultiSigCallTypedData, index: number): {
        typeHash: string;
        ensHash: string;
        functionSignature: string;
        value: string;
        callId: string;
        from: string;
        to: string;
        data: string;
        types: number[];
        typedHashes: string[];
    };
    generateCallForEIP712Message(call: CallClass, index: number): {
        call_index: number;
        payer_index: number;
        call_type: "action" | "view only" | "library: action" | "library: view only";
        from: string;
        to: string;
        to_ens: string;
        value: string;
        gas_limit: string;
        permissions: number;
        validation: number;
        flow_control: string;
        returned_false_means_fail: boolean;
        jump_on_success: number;
        jump_on_fail: number;
        method_interface: string;
    };
}
//# sourceMappingURL=VersionBase.d.ts.map