import type { TypedDataDomain, TypedDataField } from 'ethers';
export interface Witness {
    witness: any;
    witnessTypeName: string;
    witnessType: Record<string, TypedDataField[]>;
}
export interface TokenPermissions {
    token: string;
    amount: bigint;
}
export interface PermitTransferFrom {
    permitted: TokenPermissions;
    spender: string;
    nonce: bigint;
    deadline: bigint;
}
export interface PermitBatchTransferFrom {
    permitted: TokenPermissions[];
    spender: string;
    nonce: bigint;
    deadline: bigint;
}
export type PermitTransferFromData = {
    domain: TypedDataDomain;
    types: Record<string, TypedDataField[]>;
    values: PermitTransferFrom;
};
export type PermitBatchTransferFromData = {
    domain: TypedDataDomain;
    types: Record<string, TypedDataField[]>;
    values: PermitBatchTransferFrom;
};
//# sourceMappingURL=signature-transfer.interface.d.ts.map