import { Signer, BigNumberish, BaseContract, ethers } from "ethers"; import { Safe } from "../../typechain-types"; import { PayableOverrides } from "../../typechain-types/common"; export declare const EIP_DOMAIN: { EIP712Domain: { type: string; name: string; }[]; }; export declare const EIP712_SAFE_TX_TYPE: { SafeTx: { type: string; name: string; }[]; }; export declare const EIP712_SAFE_MESSAGE_TYPE: { SafeMessage: { type: string; name: string; }[]; }; export interface MetaTransaction { to: string; value: BigNumberish; data: string; operation: number; } export interface SafeTransaction extends MetaTransaction { safeTxGas: BigNumberish; baseGas: BigNumberish; gasPrice: BigNumberish; gasToken: string; refundReceiver: string; nonce: BigNumberish; } export interface SafeSignature { signer: string; data: string; dynamic?: true; } export declare const calculateSafeDomainSeparator: (safeAddress: string, chainId: BigNumberish) => string; export declare const preimageSafeTransactionHash: (safeAddress: string, safeTx: SafeTransaction, chainId: BigNumberish) => string; export declare const calculateSafeTransactionHash: (safeAddress: string, safeTx: SafeTransaction, chainId: BigNumberish) => string; export declare const preimageSafeMessageHash: (safeAddress: string, message: string, chainId: BigNumberish) => string; export declare const calculateSafeMessageHash: (safeAddress: string, message: string, chainId: BigNumberish) => string; export declare const safeApproveHash: (signer: Signer, safe: Safe, safeTx: SafeTransaction, skipOnChainApproval?: boolean) => Promise; export declare const safeSignTypedData: (signer: Signer, safeAddress: string, safeTx: SafeTransaction, chainId?: BigNumberish) => Promise; export declare const signHash: (signer: Signer, hash: string) => Promise; export declare const safeSignMessage: (signer: Signer, safeAddress: string, safeTx: SafeTransaction, chainId?: BigNumberish) => Promise; export declare const buildContractSignature: (signerAddress: string, signature: string) => SafeSignature; export declare const buildSignatureBytes: (signatures: SafeSignature[]) => string; export declare const logGas: (message: string, tx: Promise, skip?: boolean) => Promise; export declare const executeTx: (safe: Safe, safeTx: SafeTransaction, signatures: SafeSignature[], overrides?: PayableOverrides) => Promise; export declare const buildContractCall: (contract: BaseContract, method: string, params: unknown[], nonce: BigNumberish, delegateCall?: boolean, overrides?: Partial) => Promise; export declare const executeTxWithSigners: (safe: Safe, tx: SafeTransaction, signers: Signer[], overrides?: PayableOverrides) => Promise; export declare const executeContractCallWithSigners: (safe: Safe, contract: BaseContract, method: string, params: unknown[], signers: Signer[], delegateCall?: boolean, overrides?: Partial) => Promise; export declare const buildSafeTransaction: (template: { to: string; value?: BigNumberish; data?: string; operation?: number; safeTxGas?: BigNumberish; baseGas?: BigNumberish; gasPrice?: BigNumberish; gasToken?: string; refundReceiver?: string; nonce: BigNumberish; }) => SafeTransaction;